区别于;是空的;及;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手册,它们似乎真的是同义词
为空
更有效,因为它不需要扫描。
Seek通常比扫描快,因为它只包括符合条件的记录,而扫描包括每一行。对此进行了更详细的解释
另一个区别(虽然不是性能)是它们的否定语法:
IS NOT NULL /* using NOT operator */
! ISNULL() /* using exclamation mark */
我想差不多。我也读过了,但是ISNULL文档说它与ISNULL有一些特殊的行为,这让我很害怕。@Wiliam说得好。也许做一次试运行确实是最好的方式!嗯?在我看来,“共享特殊行为”只是意味着它们很奇怪,但它们也很奇怪。@Wiliam,
isnull()
看起来像一个函数,而isnull
肯定是一个“语言特性”。感谢您做一个简明的总结!新手警告;只有当列被索引时,这才更有效:)@Ja͢ck,如果它没有索引,你会使用哪个?你所指的线程是关于MSSQL的,其中isnull
与MySQLisnull
不同,但与MySQLifnull
相同。因此,总的来说,答案是不正确和误导的。notisnull()
也是有效的陈述