Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
区别于;是空的;及;ISNULL();在Mysql中_Mysql_Performance_Null - Fatal编程技术网

区别于;是空的;及;ISNULL();在Mysql中

区别于;是空的;及;ISNULL();在Mysql中,mysql,performance,null,Mysql,Performance,Null,操作符Is NULL和函数ISNULL()在性能上有什么区别吗?查看MySQL手册,它们似乎真的是同义词 即使不是这样,我也倾向于相信查询优化器会选择最好的解决方案。与之类似,但并不完全在MySQL上。根据此处显示的测试: 为空更有效,因为它不需要扫描。 Seek通常比扫描快,因为它只包括符合条件的记录,而扫描包括每一行。对此进行了更详细的解释 另一个区别(虽然不是性能)是它们的否定语法: IS NOT NULL /* using NOT operator */ ! ISNULL()

操作符
Is NULL
和函数
ISNULL()
在性能上有什么区别吗?

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

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

与之类似,但并不完全在MySQL上。根据此处显示的测试:

为空
更有效,因为它不需要扫描。

Seek通常比扫描快,因为它只包括符合条件的记录,而扫描包括每一行。对此进行了更详细的解释

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

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

我想差不多。我也读过了,但是ISNULL文档说它与ISNULL有一些特殊的行为,这让我很害怕。@Wiliam说得好。也许做一次试运行确实是最好的方式!嗯?在我看来,“共享特殊行为”只是意味着它们很奇怪,但它们也很奇怪。@Wiliam,
isnull()
看起来像一个函数,而
isnull
肯定是一个“语言特性”。感谢您做一个简明的总结!新手警告;只有当列被索引时,这才更有效:)@Ja͢ck,如果它没有索引,你会使用哪个?你所指的线程是关于MSSQL的,其中
isnull
与MySQL
isnull
不同,但与MySQL
ifnull
相同。因此,总的来说,答案是不正确和误导的。
notisnull()
也是有效的陈述