本文主要是介绍颠覆三观的索引之is null 和 is not null,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
job is null和job is not null同时走了索引
is null的type为ref也就是is null和数据分布无关
is not null的type为range,走不走索引和数据分布有关(is not null 的数据少,优化器认为走索引效率高)
select (select count(*) from emp where job is null)/(select count(*) from emp); # 0.9967select (select count(*) from emp where job is not null)/(select count(*) from emp); # 0.0033select count(*) from emp; # 3001011select count(*) from emp where job is null; # 2991012select count(*) from emp where job is not null; # 9999reset query cache ;explain select * from emp where job is null;explain select * from emp where job is not null;
这篇关于颠覆三观的索引之is null 和 is not null的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!