0

私のアプリケーションの 1 つには、次のユースケースがあります。

  • ユーザーは、注文に関するいくつかのフィルターと条件 (配達日の範囲など) を入力して分析します
  • アプリケーションは大量のデータを計算し、複数のサポート テーブルに保存します (分析ごとに数千のレコードになる可能性があります)。
  • アプリケーションは、これらのテーブルのデータを使用するレポート エンジンを開始します
  • 終了時に、アプリケーションは計算されたレコードをサポート テーブルから削除します。

実際、テーブルをサポートするためにインデックス/統計を追加してクエリのパフォーマンスを向上させる方法を分析しています.SQLプロファイラは、3〜4のインデックスと20〜25の統計を作成することを提案しています。

サポート テーブルのレコードはコストをかけて作成および削除されます。このすべてのインデックス/統計を作成するのは正しいですか、またはこれらすべてのデータが簡単に古くなるリスクがあります (インデックス/統計を維持するためのコストの高いオーバーヘッドの結果のみ)。

DB サーバー: SQL Server 2005+ アプリ言語: C# .NET

ヒント/提案をお寄せいただきありがとうございます!

4

1 に答える 1

0

最初は、データ キューブに適した状況のようです。次に、サポート テーブルにデータが入力されたら、クエリを実行する前に統計を更新する必要があります。データを挿入するときは、インデックスを無効にする必要があります。次に、再構築コマンドにより、インデックスと統計が一度に最新の状態になります。最近のプロファイラーは通常、これらの提案に非常に優れていますが、組み合わせをテストして、実際に最高のパフォーマンス向上をもたらすものを確認してください。ここで os キューブとして見るには 完全なデータ ウェアハウス プラットフォームを構築するためのオープン ソース ツールとテクニックは何ですか?

于 2013-06-27T15:46:17.297 に答える