早上好,
我目前正在尝试在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
之间的日期,这需要很长时间,因此最好使用索引。根据我收集的内容,由于表值函数,因此不使用索引。
在这种情况下,我还能做些什么来提高性能吗?
答案 0 :(得分:0)
尝试将函数的返回值插入临时表,并在查询中使用该值并查看性能。
其他方面,您可以尝试动态查询。