SQL语句优化(一)

2016-11-28  本文已影响0人  defungo

先看个简单的例子


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)作为索引,这样就无需再去表行中获取了。

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

上一篇 下一篇

猜你喜欢

热点阅读