暂无图片
统计一个B表的gid等于A表id的数据有多少个,这个语句好慢,要怎么优化
我来答
分享
王语嫣
2021-04-20
统计一个B表的gid等于A表id的数据有多少个,这个语句好慢,要怎么优化

请教大家一个问题,我想统计一个B表的gid等于A表id的数据有多少个,这个语句好慢,想请教下大家要怎么优化
SELECT ta.*,IFNULL(a.tol,0) tol from tableA ta LEFT JOIN (SELECT gid ,count(gid) tol from tableB GROUP BY gid) a on ta.id = a.gid

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
cqiwen

在tableB上为gid列创建索引,在tableA上为id列创建索引。具体索引类型,根据数据分布情况决定。然后就是两个表都要收集统计信息。

暂无图片 评论
暂无图片 有用 0
lastwinner

left join改为inner join
如果两个表数据量都比较大,执行计划走hash join会得到最佳效果。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏