【发布时间】:2014-02-20 12:36:55
【问题描述】:
案例一:
选择列 1, 克罗姆2, 栏目3 FROM 表名 WHERE Column3 在(选择 COL3 来自#TempTable)案例 2:
声明@valueClo3 varchar(50) 设置@valueClo3 = 'AnyValue' 选择列 1, 克罗姆2, 栏目3 FROM 表名 WHERE Column3 在 (@valueClo3)案例 1 花费了太多时间(大约 3 分钟),而案例 2 只需要 10 秒。 #TempTable 只有一个值 'AnyValue'
【问题讨论】:
-
对匹配行数和执行计划的估计可能不同。
-
这是您的完整查询还是您发布了它的简化版本?对于上面发布的案例,不太可能有如此大的时差。
-
你能发布每个查询的执行计划吗?这应该突出差异的来源。
标签: sql sql-server-2005 execution-time