sql加了where限定变慢 请问下大家sql查询的效率问题有时候sql语句加了sql反而会变慢 ,为啥尤其是 where aa is not null的时候。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 where aa is not null是全表扫描,不用索引,所以会变慢 这个不好说:条件越多,检索相对会慢,就想你在一个大海中找一条叫CSDN的鱼。是不是很难,但是你随便找一个就很简单。当数据量很大的时候返回时要消耗很大的内存这时就会慢所以你的数据应该比较小若慢,就在相应的列上建立索引。 oracle 对数据查上,如果用了where condition, 那么他会去扫描block,然后得出你想要的data,当然有时候会很快找到,有时候会用很久的时间,因为存在的位置不同,所以时间就不同了。 有时候你也可以建立索引来提高速度。 比如,你在想在某中学的高二年级找到姓王的人,在高二年级共有12个班就好像是12个bolck,如果这些人在12个班的其中3班中那么索引就只会扫描这三个班,而不会去扫描其他班,当然如果这些人也可能分布在12个班内,那么12个block都要去读,这样速度又慢下来了。 where aa is not null是全表扫描,不用索引,所以会变慢 但 is null 则不会进行全表扫描,使用索引 ,速度快 aa is not null 或者 is null 都会是scan full table 菜鸟急救,请教数据库建表 关于分布式数据库问题 关于动态sql语句的用法? 很有意思的sql问题 oracle小表需要建索引吗? 我用TOAD里面建表,插入数据提示都正常,但查询数据时提示:no row select. 如何将XML转化为几个表的形式,存储到Oracle中 sql语句作为一字段保存时,from前后的空格都变成%20 关于数据库重启 使用server manager 如何在特定的条件下插入一个字段 oracle导入时怎么删除已经存在的表
若慢,就在相应的列上建立索引。
那么他会去扫描block,然后得出你想要的data,当然有时候会很快找到,有时候会用很久的时间,因为存在的位置不同,所以时间就不同了。
有时候你也可以建立索引来提高速度。
比如,你在想在某中学的高二年级找到姓王的人,在高二年级共有12个班就好像是12个bolck,如果这些人在12个班的其中3班中那么索引就只会扫描这三个班,而不会去扫描其他班,当然如果这些人也可能分布在12个班内,那么12个block都要去读,这样速度又慢下来了。
但 is null 则不会进行全表扫描,使用索引 ,速度快
aa is not null 或者 is null 都会是scan full table