みなさん、おはよう、
現在、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
。これには非常に長い時間がかかるため、インデックスを使用するのが最適です。私が収集したものから、テーブル値関数のため、インデックスは使用されません。
このシナリオでパフォーマンスを向上させるために他にできることはありますか?