sql 数据大时用left join 查询用时太长

zhanbaone 2018-08-24 09:19:15
select * from a left join b a.a_id=b.a_id

a表和b表都有100w的数据的时候 查询时间非常长 ,请告诉一下有啥办法进行优化的。。。。。
...全文
1200 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
技术小菜鸡 2018-09-12
  • 打赏
  • 举报
回复
Where条件呢????
sywcf 2018-08-27
  • 打赏
  • 举报
回复
单独这么执行也没意义啊,即使是要查询全部数据,也是要分页的,分页后就快了.直接这么查,肯定慢,但没意义啊
qq_25073223 2018-08-25
  • 打赏
  • 举报
回复
1.不要用 select * 只查询所需列;
2.返回行数控制一下,返回这么多也没啥用啊;
3.关联的列需要建立相应的索引。
删库到跑路 2018-08-24
  • 打赏
  • 举报
回复
就这一句话,SQL的那群大佬都没办法,加硬件吧。。。。
吉普赛的歌 2018-08-24
  • 打赏
  • 举报
回复
你这个连接, 没有任何 where 条件? 分页也没有?

要把整个珠峰搬到海里去, 没什么很好的办法
Lyman_ 2018-08-24
  • 打赏
  • 举报
回复
a、b表同时加聚集索引,可以最大程度提高该查询的性能
CREATE CLUSTERED INDEX clu_idx_a_id ON a(a_id)
CREATE CLUSTERED INDEX clu_idx_a_id ON b(a_id)

实际应用中,一般不会这样做,而且应该如楼上所说,应该考虑是否应该一次性查询这么多数据,是否应该添加where子句过滤,是否可以不用*号,限制返回的列,是否应该采用分页等。
二月十六 2018-08-24
  • 打赏
  • 举报
回复
关联字段加索引;
但是数据量太大的时候,还是得考虑是否需要一起读这么多数据,是不是要加分页

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧