SQL优化之总结篇-SQL三段分析法
关注我的微信公众号:pythonislover,领取python,大数据,SQL优化相关视频资料!~
今天的这篇是对前面几篇SQL优化文章的总结:
一次性给大家放在这里方便查看。
那么我们要总结什么呢? 那就是SQL的优化方法“三段分析法”, 先说说什么叫“三段分析法”,这个大家可能以前没听过,我也是之前听某位SQL优化大师说的,所以这里就采用这个名字来说说。
下面我们看下一个基本的sql大概可以分成几段:
select
xxx,
(), --标量子查询
xxx
from (),t,() --内联视图
where exists/in () --子查询
group by xxx
order by xxxx
having xxxx
是不是我们所有的SQL最后差不多都是这样的形式,那我们来分析下,上面我已经标出每部分和以前文章的对应关系。 其实一个SQL大致可以分成三段
第一段:
select
想想select后面能出现上面性能点,那就只有标量子查询了,还有一个就是自定义函数,也是一个坑,关于自定义函数, 我们后面有机会再说。这里说的标量子查询就是前面文章说的,可以自行查阅。
第二段:
from
想想from后面跟的什么?只有表? 不对,还有视图,那么久存在内联视图的合并问题,也是一个性能点,大家可以查询以前文章,对内联视图的讲解。
第三段:
where
where后面呢? 加列,还有 IN/Exists, 那是不是也就存在IN/Exists的选择问题啊,大家也可以自行翻阅前面的文章
说到这里,貌似清晰了,是不是一段再复杂的SQL,到最后也就差不多这三部分,那我们再看一条SQL的时候,就要有针对的去看,记住三段里面有哪些可能存在的性能点,不要两眼一抹黑。
其实这就是我今天要总结的SQL优化三段分析法,当然SQL优化肯定不是这么简单的,但是大概思路是这样的,其他的就是写修修补补的知识和自己的总结,经验。
说到现在,大家GET到我的点了吗? 希望你已经GET到了。
今天就说这么多,后面更精彩哦。
个人观点,望指正。
