MySql数据库的优化(二) MySql中is NULL、ISNULL()和IFNULL()运行速度的比较

在查询过程中,我们经常用到非空和is null的查询,为了更高效的查询,我们应该知道那种方法更快。

在上一篇中,我们已经添加了一些数据。根据这些数据我们就可以来做一些验证。

第一步,is NULL要比ISNULL()的比较

SELECT * from 表名 where 字段名 is NULL

img

SELECT * from 表名 where ISNULL(字段名)

img

由上面可以看出,is NULL要比ISNULL()快一点。

第二步,is NULL和IFNULL()的比较

SELECT * from 表名 where 字段名 is NULL

img

SELECT * from 表名 where IFNULL(字段名,'0') = '0';

img

由上面可以看出,可看出IFNULL()要比is NULL快一点。

综上所述,查询空值的运行速度基本上为IFNULL()>is NULL>ISNULL()。
原文

原文地址:https://www.cnblogs.com/brady-wang/p/13865996.html