ssms で実行するのに約 15 秒かかる SQL クエリがありますが、ssrs で実行すると 5 ~ 7 分かかります。私が読んだすべてのものから、これは「パラメータースニッフィング」によるものであるように見えるので、これをバイパスするためにクエリ内で変数を宣言しましたが、まだ複数のパラメーターで問題が発生しています。
と:
渡されたパラメータは次のとおりです: @Places
create table #places (place varchar(50))
insert into #places select Val from dbo.parseValues(@Places,',')
select * from mytable m
inner join #places p on p.place = m.place
drop table #places
これは、レポートの実行時に 1 つの場所のみを選択した場合に機能しますが、それ以外の場合は次のようなエラーがスローされます。
このエラーの詳細については、ローカル サーバー コンピューター上のレポート サーバーに移動するか、リモート エラーを有効にしてください -------------------------------- クエリデータセット 'dataset1' の実行に失敗しました。(rsErrorExecutingCommand) -------------------------------- レポートの処理中にエラーが発生しました。(rsProcessingAborted)
ParseValues 関数は、http://visakhm.blogspot.in/2010/02/parsing-delimited-string.html から取得されます。
他のアイデアはありますか?