2016-04-01 13 views
0

中規模のsql 2008r2データベースがあります(1つのテーブルに4百万行あります)。我々はまた、このテーブルとその子供の周りを60%回転していると思われる約15の異なるレポートを持っています。ユーザーは、特定の日付範囲を選択しなければならないすべてのレポートについて、1日または1年間のレポートを生成することができます。SQL Server Reporting:独自のコードを作成してレポートを生成するか、レポートサーバーを使用してレポートを生成する

以下はそのテーブル(ダミー)のスキーマ

Table Txn 
------------------------------------------------------------- 
    ID | StartDate | EndDate | FK1 | FK2 | FK3 | Amount1 | Amount 2 

あり、オフコースが、他のテーブルであるが、簡略化のために、私はそれを残すことになります。

現在、レポートを生成するために外部ツール/サーバーを使用しておらず、独自のレポート生成を静的HTMLページで管理しています。

私は、400万行を照会して約10%のデータをフィルタリングしたり、データの取得に75秒かかっていることに気づいています。

私の質問は、SSRCなどのツールはレンダリングの部分だけに役立つのですか?データを取り込む方法の最適化にも貢献していますか?

答えて

0

AJAX対応のデータグリッドは、大量のデータを取得するのに非常に優れています。 DevExpressのこのtoolは、1秒未満で300,000行を取得します。私はフィルタリングが1〜2秒で動作することを発見しました。

SSRSページングは​​、ページがより迅速にレンダリングされるようにも役立ちます。フィルタ(クエリパラメータではない)を使用すると、初期データセットが取得されると、適切なパフォーマンスフィルタリングが必要です。

もちろん、メインテーブルにインデックスを追加したいとします。トレースを実行してトレースをファイルに保存した後、データベースエンジンチューニングアドバイザでファイルを使用します。それはあなたが必要とするインデックスを定義するのに役立ちます。

関連する問題