laravel-5 - 多态关系会导致大数据速度变慢吗?
问题描述
晚上好/早上好,
我正在开发一个拥有数百万用户的社交媒体类型数据库,我还没有处理过这么大的数据,所以我有点担心我在评论部分采用的方法。将有对不同实体的评论,例如帖子、页面、组以及 3 到 4 个以上。所以我要问的是,如果有人在大数据上实现了多态关系,你能分享一下你在大数据上的性能经验吗?
解决方案
因为您有一个用于不同模型的表。
以 Laravel 文档为例(用户和帖子可以有一个图像)。如果你需要检索这样的东西
User::find(1)->image
Laravel 在内部进行类似于以下的查询:
SELECT * FROM images WHERE imageable_id = 1 AND imageable_type = '\App\User';
在您进行图像处理时,如果您有很多图像并且 imageable_* 列没有被索引,那么这类查询将花费大量时间来运行。
所以,我的建议是尝试基于这个元组(imageable_id,imageable_type)创建一个索引。
推荐阅读
- r - Blau'sN 多样性指数
- angular - 使用嵌套 ngFor 循环不更新数据绑定
- filemaker - 如果您安装了旧版本,Filemaker 17 不是打开脚本的默认打开方式
- codeigniter-3 - 如何在 Codeigniter 中动态路由链接?
- coq - 证明在两个列表中找到相同元素的属性
- c - 提示用户重新输入号码
- html - 通过正则表达式查找特定的url
- c# - NetTopologySuite 以何种单位返回距离,如何将其转换为英里/公里?
- javascript - 什么 Javascript if/else 语句可以将放大的图像返回到其默认大小?
- performance - 使用 Azure DevOps 版本无法在 azure CI 管道中运行 vsts2017 Web 测试