语句优化篇
IS NULL 或IS NOT NULL操作(判断字段是否为空)
理论基础
不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。
推荐方案
用其它相同功能的操作运算代替,如:a is not null 改为 a>0 或a>’’等。不允许字段为空,而用一个缺省值代替空值,如申请中状态字段不允许为空,缺省为申请。
用’x%‘代替’%x%’
理论基础
如果模糊查询前面也有%,则会直接进行全盘扫描而不用索引
避免 SELECT *
理论过程
从数据库里读出越多的数据,那么查询就会变得越慢。并且,如果你的数据库服务器和WEB服务器是两台独立的服务器的话,这还会增加网络传输的负载。
所以,你应该养成一个需要什么就取什么的好的习惯。
尽量避免ORDER BY排序
理论基础
若非有必要,尽可能的不要加ORDER BY,因为这会消耗大量的CPU