SQL Server 2005インスタンスが遅い状態になっています。リンクパフォーマンス モニターの詳細が表示されます。この種のデータを毎日分析しているわけではないので、I/O システムに実際に問題があるのではないかと考えていました。
サーバーは SAN を使用しており、DB ファイルと Tempdb ファイルは同じドライブ (E:) にあります。最適なアーキテクチャではありませんが、サーバーを制御できません。サーバーは Cognos を使用してレポートを実行するために使用されるため、ほとんどが読み取り専用の DB です。
ありがとう
ここに修正が必要な面白いコードがあります。
select "tempSalesRpt_SubRgnDist"."Region" AS "Region",
min("tempSalesRpt_SubRgnDist"."RegionName") AS "Region_Text"
from "SalesReporting"."dbo"."tempSalesRpt_SubRgnDist" "tempSalesRpt_SubRgnDist",
(select "SecurityMaster"."Userid" AS "Userid", "SecurityMaster"."SoldTo" AS "SoldTo"
from "SalesReporting"."dbo"."SecurityMaster" "SecurityMaster"
where "SecurityMaster"."Userid" = lower ('USTGACA')) "SecurityMaster4"
where NOT "SecurityMaster4"."Userid" is null
and "tempSalesRpt_SubRgnDist"."SoldTo" ="SecurityMaster4"."SoldTo"
group by "tempSalesRpt_SubRgnDist"."Region"
order by 1 asc , 2 asc
securitymaster テーブルはすべてのクエリでアクセスされ、最近増加したテーブルです。
このコードには検索引数のないコードが含まれていると思われますが、実行プランではインデックス シークとキー検索が使用されていることが示されています。
いくつかの新しいインデックスが役立つ可能性はありますが、さらに詳しく調べる必要があります。
答え1
提供されたデータに基づくと、何か問題が発生しています。ディスク キューは読み取りあたりの秒数で、書き込みあたりの秒数カウンターは、必要な値よりはるかに高くなっています。ここでの注意点は、これはディスクの問題ではなく、ディスクが過負荷になっているだけであるということです。インデックスの問題、または統計の問題があり、SQL Server がディスクを必要以上に使用してしまっています。
まず、データベース内のインデックスを確認し、新しいインデックスを作成する必要があるかどうかを確認します。これにより、データベースのサイズは大きくなりますが、ディスクへのトラフィックが減り、クエリの実行時間が短縮されます。
まず、長時間実行されるクエリの実行プランを確認することから始めます。これにより、インデックスを追加する必要がある場所がわかります。
答え2
Denny の回答に加えて、ボックスには約 5 GB の空きメモリがあります。SQL のメモリは正しく構成されていますか?
32 ビット システムをお持ちの場合は、AWE を有効にすることで、より多くのメモリをアドレス指定できます。
http://technet.microsoft.com/en-us/library/ms190673(SQL.90).aspx
SQL はこの追加メモリを使用して、より多くのデータベース テーブル/インデックスをキャッシュします (データベースが空きメモリよりも大きいと仮定)。