SQL中SELECT NULL和SELECT 1的性能比较

发布于 2024-10-15 11:51:03 字数 149 浏览 2 评论 0原文

更好

IF EXISTS(Select null from table)

IF EXISTS(Select 1 from table)

哪个性能

Which one is better for performance

IF EXISTS(Select null from table)

or

IF EXISTS(Select 1 from table)

?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人问我粥可暖 2024-10-22 11:51:03

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

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

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

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

Both perform the same, because the SELECT clause in the EXISTS is never evaluated. You can test using:

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

That should trigger a divide by zero error, but won't.

I personally prefer using NULL because it's obvious that nothing is referenced in the table, so it's more visible to others. Selecting a value, like the INT number 1 in the second example, can lead to assumptions about what is happening if not familiar with the EXISTS clause.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文