首页 新闻 会员 周边 捐助

数据查询关联表过多,怎么优化

0
悬赏园豆:5 [已解决问题] 解决于 2022-08-01 18:16

我们的业务比较广, 然后发现主表关联的其他表越来越多,这个应该对数据查询性能有影响吧, 有好的优化建议吗, 比如我们现在left jon超过8张表了,以后越来越多就不是个事。

天空的湛蓝的主页 天空的湛蓝 | 初学一级 | 园豆:193
提问于:2021-11-20 10:24
< >
分享
最佳答案
0

 表多不怕,能完美匹配索引就行

收获园豆:5
renguanyu | 小虾三级 |园豆:841 | 2022-04-24 13:33

我也这么觉得

天空的湛蓝 | 园豆:193 (初学一级) | 2022-08-01 18:15
其他回答(5)
0

使用 ElasticSearch 或 ClickHouse
数据 从主库 同步 过去
额,还有合理使用缓存

快乐的欧阳天美1114 | 园豆:4010 (老鸟四级) | 2021-11-20 10:41

考虑过这个, 但是维护成本高.出问题不容易查找

支持(0) 反对(0) 天空的湛蓝 | 园豆:193 (初学一级) | 2021-11-22 09:20
0

该关联的还是要关联的,可以不关联查询的就别关联。
减少查询量
主键查询很快,10张表不多

Honey_Badger | 园豆:200 (初学一级) | 2021-11-20 15:28
0

可以尝试创建视图或者创建中间表

二毛605332 | 园豆:181 (初学一级) | 2021-11-24 16:57
0

这也太多表了吧,现在每次sql多少毫秒?

帅进 | 园豆:248 (菜鸟二级) | 2022-01-17 17:03
0

关联多张表无非就是为了获取特定的字段
如果为了一张表的某一两个,两三个字段,建议把字段,放到合适的表中,业务代码处理的时候,也要把相关数据填加一下。
如果是查多个字段可以先创建临时表,把相关字段查出来,然后再关联临时表,可以用关键字with 创建临时表。
建议表的索引(或者联合索引)要有前后顺序,且变化不大,可作为索引,但是不建议使用大量索引,一般两到三个,因为有可能会造成索引失效
其他的优化可以参考 mysql官网里面的优化信息

Reansd | 园豆:202 (菜鸟二级) | 2024-12-11 17:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册