0

1 つの SSRS 2005 レポートを実行しようとしています。このレポートは、1 つのパラメーターを取ります。パラメータを使用せずに値を直接書き込むと、10 秒で実行されます。例えば。

Select * from table1 where id = 122

パラメータを使用すると、10〜15分のように長い時間がかかります

Select * from table1 where id = @id

なぜこのようなことが起こっているのかわかりません。

前もって感謝します。

4

2 に答える 2

0

1) サブクエリを結合ロジックに置き換えてみてください。可能な限り最善を尽くします。サブクエリは、[この結果セット] が [結果セットの出力] を取得するマクロ ビューで考えているときに、問題の流れをスムーズにするため、より論理的に感じられることがよくあります。2) インデックスも付けられます。そして、そのintであるため、より高速になります。

于 2014-01-29T19:27:16.303 に答える
0

尋ねられたように質問に答えるのは不可能です。物事がうまくいかない理由を判断するための情報を持っているのはあなただけです。

ただし、「SSRS のパフォーマンスの問題を調査するにはどうすればよいですか?」という質問に答えることができます。これまでに見つけた最良のツールの 1 つは、ReportServer カタログ データベースのExecutionLog2 ビューを使用することです。あなたの場合、注目すべき重要な列は次のとおりです。

  • TimeDataRetrieval、データ ソースへの接続とデータ行の取得に費やされた時間
  • TimeProcessing、データ行をレポートに変換するのにかかった時間
  • TimeRendering、最終出力 (pdf、html、Excel など) の作成にかかった時間

これにより、さらに調査するための出発点が得られます。おそらく(あなたの説明から)問題は最初のビットにあると思います。適切なフォローアップ手順は、おそらく実行計画を使用して、SSRS によって実行されるクエリを分析することです。

于 2012-08-01T19:01:25.163 に答える