0

大家早,

我目前正在尝试在 SQL2005 / SSRS2005 中实现多值参数

我已经按照许多博客/演练中建议的方式进行了此操作,使用表达式以逗号分隔参数,如下所示:

=Join(Parameters! <ParameterName> .Value,", ")

然后我使用一个函数来拆分参数。

WHERE 
close_date BETWEEN @FROMCLOSEDATE AND @TOCLOSEDATE
AND (Group_ID IN (SELECT Val from dbo.fn_String_To_Table(@RESGROUP,',',1)))

这现在按预期工作。存储过程正在搜索 140 万行以查找参数 和 之间的日期IN RESGROUP,这需要很长时间,因此最好使用索引。根据我收集的信息,由于表值函数,没有使用索引。

在这种情况下,我还能做些什么来提高性能?

4

1 回答 1

0

Try to insert the return values from the function into a temp table and use that in the query and see the performace.

Other wise you can try dynamic query.

于 2012-09-26T06:53:36.913 回答