gpt4 book ai didi

sql - 为什么 IsEqual (=) 运算符比 Oracle 中的 IsNotEqual (<>) 运算符工作得更快?

转载 作者:行者123 更新时间:2023-12-04 16:20:46 25 4
gpt4 key购买 nike

正如标题所说,如果有人有答案,我想知道。我一直在谷歌搜索,但找不到直接的答案。

例子:

这有效

SELECT COUNT(*) FROM Table1 TB1, Table2 TB2
WHERE TB1.Field1 = TB2.Table2

这似乎需要几个小时
SELECT COUNT(*) FROM Table1 TB1, Table2 TB2
WHERE TB1.Field1 <> TB2.Table2

最佳答案

因为它们是不同的 SQL 语句。在第一个中,您使用 Field1 连接两个表。和 Table2领域。可能会返回一些记录。

在第二个中,您的查询可能会返回很多记录,因为您正在执行交叉连接,并且很多行将满足您的 Field1 <> Table2健康)状况。

一个非常简单的例子

表格1

Field1
------
1
2
5
9

表2
Table2
------
3
4
5
6
9

Query1 将返回 2,因为只有 5 和 9 是常见的。

Query2 将返回 18,因为来自交叉连接的很多行都会计数。

如果您有包含大量记录的表,则处理第二个查询将需要一段时间。

关于sql - 为什么 IsEqual (=) 运算符比 Oracle 中的 IsNotEqual (<>) 运算符工作得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3352490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com