在写 SQL 查询时,多人喜欢在WHERE子句中对索引列进行计算,像是SELECT … FROM DEPT WHERE SAL * 12 > 25000这种写法。其实这种写法会让SQL优化器放弃索引,转而进行全表扫描,性能会变得蛮差的。推荐做法是避免计算,直接将值计算好,像这样:SELECT … FROM DEPT WHERE SAL > 25000/12。这样优化器才能利用索引,提高查询效率。
在生产环境中,避免在WHERE子句中对索引列做计算,是函数运算,这样能大大提升查询性能。如果你的查询涉及到计算,试着先将计算好,再放到WHERE子句里,这样就能更高效。
如果你能在日常开发中注意这一点,性能提升是比较的哦。