Mysql中“IS NULL”和“ISNULL()”之间的差异

时间:2010-08-20 10:44:26

标签: mysql performance null

运算符IS NULL与函数ISNULL()之间的效果是否存在差异?

2 个答案:

答案 0 :(得分:14)

This thread类似,但不完全在MySQL上。根据那里显示的测试:

IS NULL效率更高,因为它不需要扫描。

Seek通常比扫描更快,因为它只包含合格记录,而scan包括每一行。我们会更详细地解释here

另一个区别(虽然它不是性能)是它们的否定语法:

IS NOT NULL  /* using NOT operator */
! ISNULL()  /* using exclamation mark */

答案 1 :(得分:9)

查看MySQL手册,它们似乎确实是同义词。

即使它们不是,我也倾向于相信查询优化器能够选择最佳解决方案。