关于mysql大数据left join的count总数查询

zhan2905 发布于 2017/05/02 15:07
阅读 6K+
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

select  count(A.id) from A -->id为主键

left join B 

on  A.colum(该字段设有索引) = B.colum(该字段设有索引) 

其中 A表数据量为 200W+

B表数据量为500W +

问题是运行如此这样的语句需要 40s + 才能检索出结果。不符合网页相应需求。

求大神给点解决方案!

加载中
0
风翔飞
风翔飞

left join 可以去掉,不影响查询结果, a.id改为1,最后sql是

select count(1) from A

0
antipro
antipro

引用来自“风翔飞”的评论

left join 可以去掉,不影响查询结果, a.id改为1,最后sql是

select count(1) from A

怎么会不影响,万一A表和B表是一对多的关系,统计值要比A表的记录数大才对。

风翔飞
风翔飞
有索引看看实际是否使用了
风翔飞
风翔飞
哦,一时晕了,没仔细想,你这样的看看是不是没加索引,有索引应该不会这么慢
0
antipro
antipro

遇到这种情况可以用explain看一下有没有真正用到索引。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部