22

IS NULL运算符和函数之间的性能有什么区别ISNULL()吗?

4

2 回答 2

15

这个线程是相似的,虽然不完全在 MySQL 上。根据那里显示的测试:

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

搜索通常比扫描快,因为它只包括合格的记录,而扫描包括每一行。这里有更详细的解释。

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

IS NOT NULL  /* using NOT operator */
! ISNULL()  /* using exclamation mark */
于 2013-07-09T18:20:35.923 回答
10

查看 MySQL 手册,它们似乎真的是同义词。

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

于 2010-08-20T10:51:00.007 回答