请问下大家sql查询的效率问题
有时候sql语句加了sql反而会变慢 ,为啥
尤其是 where aa is not null的时候。
谢谢

解决方案 »

  1.   

    where aa is not null是全表扫描,不用索引,所以会变慢
      

  2.   

     这个不好说:条件越多,检索相对会慢,就想你在一个大海中找一条叫CSDN的鱼。是不是很难,但是你随便找一个就很简单。当数据量很大的时候返回时要消耗很大的内存这时就会慢所以你的数据应该比较小
    若慢,就在相应的列上建立索引。
      

  3.   

    oracle 对数据查上,如果用了where condition,
          那么他会去扫描block,然后得出你想要的data,当然有时候会很快找到,有时候会用很久的时间,因为存在的位置不同,所以时间就不同了。
          有时候你也可以建立索引来提高速度。
          比如,你在想在某中学的高二年级找到姓王的人,在高二年级共有12个班就好像是12个bolck,如果这些人在12个班的其中3班中那么索引就只会扫描这三个班,而不会去扫描其他班,当然如果这些人也可能分布在12个班内,那么12个block都要去读,这样速度又慢下来了。
      

  4.   

    where aa is not null是全表扫描,不用索引,所以会变慢
     但 is null  则不会进行全表扫描,使用索引 ,速度快
      

  5.   


    aa is not null  或者 is null  都会是scan full table