一个基础的问题,请教

WhbtomT 2017-08-29 03:43:02
AB两表连查时速度很快,ABC三表时就慢了很多。
请问怎样解决?

select * from tbA a left join tbB b on a.AA=b.Aa and a.BB=b.BB and a.CC=b.CC and a.DD=b.DD
left join tbC c on a.AA=c.AA and a.BB=c.BB and a.CC=c.CC and a.DD=c.DD
where b.AA is not null snd c.AA is null

这个就很慢了。怎样改进呢?
...全文
293 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
听雨停了 2017-09-01
  • 打赏
  • 举报
回复
引用 6 楼 qq_28742937 的回复:
select a.*,b.*,c.* from T1 a ,T2 b,T3 c where 条件 这样写会不会简单一点 可以试一下速度
这样貌似是一样的速度
baomf 2017-09-01
  • 打赏
  • 举报
回复
select a.*,b.*,c.* from T1 a ,T2 b,T3 c where 条件 这样写会不会简单一点 可以试一下速度
OwenZeng_DBA 2017-08-29
  • 打赏
  • 举报
回复
引用 楼主 WhbtomT 的回复:
AB两表连查时速度很快,ABC三表时就慢了很多。 请问怎样解决? select * from tbA a left join tbB b on a.AA=b.Aa and a.BB=b.BB and a.CC=b.CC and a.DD=b.DD left join tbC c on a.AA=c.AA and a.BB=c.BB and a.CC=c.CC and a.DD=c.DD where b.AA is not null snd c.AA is null 这个就很慢了。怎样改进呢?
最重要但是是你最后的筛选条件就is not null,这样返回的数据量应该会很大。应该从业务上去看下是否还能增加其他条件, 看是否有必要一次性查出这么多少数据
听雨停了 2017-08-29
  • 打赏
  • 举报
回复
用字段替换*号进行查询,只查询需要的列可能会好点
二月十六 2017-08-29
  • 打赏
  • 举报
回复
引用 2 楼 WhbtomT 的回复:
谢谢。但创建哪种索引?
试试这样:
CREATE INDEX index_tbA_A ON tbA(AA,BB,CC,DD)
CREATE INDEX index_tbB_B ON tbB(AA,BB,CC,DD)
CREATE INDEX index_tbC_C ON tbC(AA,BB,CC,DD)
WhbtomT 2017-08-29
  • 打赏
  • 举报
回复
谢谢。但创建哪种索引?
二月十六 2017-08-29
  • 打赏
  • 举报
回复
给关联字段AA,BB,CC,DD都加上索引,另外试试这个搜索出来的数据符合不符合要求
SELECT  *
FROM tbA a
LEFT JOIN tbB b ON a.AA = b.Aa
AND a.BB = b.BB
AND a.CC = b.CC
AND a.DD = b.DD
AND b.AA IS NOT NULL
LEFT JOIN tbC c ON a.AA = c.AA
AND a.BB = c.BB
AND a.CC = c.CC
AND a.DD = c.DD
AND c.AA IS NULL

微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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