【发布时间】:2016-07-26 13:58:59
【问题描述】:
使用 SQL Server 2014:
以下语句之间是否存在性能差异?
DELETE FROM MyTable where PKID IN (SELECT PKID FROM @TmpTableVar)
与
DELETE FROM MyTable INNER JOIN @TmpTableVar t ON MyTable.PKID = t.PKID
【问题讨论】:
-
查看每个的执行计划。在这种情况下,它们很可能是相同的。
-
执行计划基于当前统计。它们今天可能相同,但以后会改变。这就是我寻找更广泛规则的原因。
-
我做了一些测试,几乎在所有情况下都相似stackoverflow.com/questions/38444729/…
-
澄清一下:
EXPLAIN动词用于获取执行计划信息。 -
但即使使用不同的统计信息,运行时的统计信息也是相同的。不确定您所说的更广泛的规则是什么意思??
标签: sql-server tsql