SQL语句优化(一)

先看个简单的例子

SELECT t1,t2 

FROM temp where t3=? and t4=? 

order by t2

如何去做呢?

1.考虑如何最小化扫描索引片的宽带

   很明显将(t3,t4)作为索引即可解决。

   不过要注意这个sql还会根据t2进行排序,这意味着获得最后结果还需要将索引行和表行进行排序,这里还是可以优化的。

2.考虑如何优化排序字段查询速度

   将(t3,t4,t2)作为索引,扫描出的结果集中的记录无需排序就已经是正确的顺序排列了

 这样就只需通过扫描出的索引片,再去和表行比对,就可以返回结果集。那么这步可不可以优化呢?

3.考虑如何只从索引片中获得结果集

   将(t3,t4,t2,t1)作为索引,这样就无需再去表行中获取了。

  不过这种优化比较极端,要具体问题具体分析

    原文作者:defungo
    原文地址: https://www.jianshu.com/p/decbacc5b044
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞