首页 新闻 会员 周边 捐助

当有很多join条件时,有什么优化的方法吗?

0
悬赏园豆:5 [已解决问题] 解决于 2018-03-13 16:01

假如我现在有一个sql

select a.Id,b.Id,c.Id... from a

inner join b on a.Id = b.Id

inner join ...

 

这样一个sql,有很多很多的join和关联条件,这导致了查询速度降低太多。

我发现时间貌似全部都用在了索引检索上面。

请问像这样的sql有什么办法优化吗?

跪求思路!

临冰听雪丶的主页 临冰听雪丶 | 初学一级 | 园豆:175
提问于:2018-03-12 11:03

建议提供完整的截图,目前截图部分的执行计划并没有大问题

dudu 6年前
< >
分享
最佳答案
1

这个问题有点类似:我做了一些不好的事情,如何避免被抓。

优化从来就不是一个纯粹的SQL问题,除非你确实写得很烂很烂。

1、表设计

2、代码实现

3、并发规模

4、硬件瓶颈

如果所有的优化都能在现有表结构上只修改SQL就能提升性能的话,那阿里的系统你都可以开发了。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2018-03-12 11:13
其他回答(3)
0

1. 是否添加了相应的索引?

2. 可能你需要考虑一下你表的设计问题了。

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2018-03-12 11:04
0

 后面加where过滤一下,减小表的体积,这样join关联的时候会快些 

顾星河 | 园豆:7281 (大侠五级) | 2018-03-12 11:23
0

大叔说的就很简单了.

但你的数据库查询很复杂的时候.

你该考虑业务结构是不是有问题了.

吴瑞祥 | 园豆:29449 (高人七级) | 2018-03-12 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册