sql语句五不要

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

 

上一篇:求两个数的最大公约数


下一篇:leetcode 23.合并K个排序链表