1、尽量不要有空判断的语句,因为空判断将导致全表扫描,而不是索引扫描。
对于空判断这种情况,可以考虑对这个列创建数据库默认值
//空判断将导致全表扫描 select small_id from small where sunshine is null; //可以考虑在需要经常null判断的列,增加默认值。假设有默认值:空字符串 select small_id from small where sunshine ="";
2、尽量不要使用不等于条件,因为,这会导致全表扫描
对于不等于这种情况,考虑改为范围查询解决
//不等于条件 将导致全表扫描 select sunshine from small where small_id <> 18; //可改为范围查询解决。假设18已经是最大值了 select sunshine from small where small_id < 18
3、尽量不要使用or条件,因为,这会导致全表扫描
对于or这种情况,可以改为 分别查询,然后 union all