独自のSQLServer2008に対応する読み取り専用データベース(製品)があります。
私はすでにアクティビティモニターで最も高価なクエリを見てクエリを最適化しました-レポート。CPUコストでレポートを注文しました。今では50クエリ/秒のようなものがあり、300ミリ秒を超えるクエリはありません。
CPU時間は問題なく(30%)、メモリは20%しか使用されていません(64GBのうち)。
1つの問題があります。ディスク時間は100%安定しています(アイドル時間のパフォーマンスカウンターを調べ、ideras SQL診断マネージャーを使用しました)。product dbは、別のマシンにあり、テーブルが小さい注文dbとは異なる動作をすることがわかります。プロファイラートレースを見ると、列「read」に50.000より大きい値を示すクエリがproduct-dbにあります。 。私の注文DBでは、これらの値が1000を超えることはありません。product-dbのクエリは、多くの共通テーブル式を使用し、大きなテーブルで機能します(一部は約500万エントリです)。
I / Oパフォーマンスのためにクエリを最適化するために時間を費やす必要があるのか、それともサーバーを追加するだけなのか、私にはわかりません。クエリ期間を最適化することで、不足しているインデックスをすでに追加しました。i / oの最適化は通常行われていることですか?