sql - sql SELECT NULL 和 SELECT 1 的性能比较

标签 sql mysql database exists

哪个对性能更好

IF EXISTS(Select null from table)

IF EXISTS(Select 1 from table)

?

最佳答案

两者执行相同,因为永远不会评估 EXISTS 中的 SELECT 子句。您可以使用以下方法进行测试:

... EXISTS(SELECT 1/0 FROM TABLE) 

这应该触发被零除的错误,但不会。

我个人更喜欢使用 NULL,因为很明显表中没有引用任何内容,因此其他人更容易看到。选择一个值,如第二个示例中的 INT 数字 1,如果不熟悉 EXISTS 子句,可能会导致对正在发生的事情的假设。

关于sql - sql SELECT NULL 和 SELECT 1 的性能比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876166/

相关文章:

java - 无法使用 SQL 工具查询现有的 Ignite 缓存

mysql - 从Mysql中获取特定条件的数据

php - 通过将唯一 id 从一页传送到另一页来将数据保存在数据库中

php - Symfony2自定义查询仅返回1条记录,应该返回多条记录

mysql - 在 SQL 中正确使用表之间的多对多关系?

mysql - mysql 查询中仅按数字搜索

javascript - 如何在javascript中获取sqlite数据库值

具有 FLOOR 结果的 MySQL 算术不递增

mysql - 可以托管一个简单的 Web 表单,提交到网络驱动器上的 MySQL 数据库

database - 使用 NiFi 使用 QueryDatabase 表获取记录时限制行数