T-SQL查询在(x,y,z)动态列表中的位置

时间:2014-10-19 13:40:48

标签: sql-server tsql sql-execution-plan

我有一个动态创建的Query,因为我们需要检查where子句中的int列表。

SELECT a, b From table where a in(1,5,98,34,2)

这创造了许多单一用途计划。我看了一个表值函数,它接受一个csv并创建一个表。此查询如下所示:

SELECT a, b From table where a in(SELECT Word FROM dbo.fn_splitStrings('1,5,98,34,2',','))

这只会创建一个查询计划,但根据SET STATISTICS TIME ON,它大约慢10倍。

有人知道如何改善这个吗?

0 个答案:

没有答案