OS の情報 (パフォーマンスモニター)
dbtech showcase 201418
リソース カウンター
CPU Processor : % Processor Time
System : Processor Queue Length
Process : % Processor Time (sqlservr)
メモリ Memory : Available Mbytes
ディスク Physical Disk : Current Disk Queue Length
Physical Disk : Disk Bytes/sec
Physical Disk : Disk Read Bytes/sec
Physical Disk : Disk Write Bytes/sec
実行プランの確認
db tech showcase201463
実行プランから以下の情報を確認
インデックスが使用されているか
クエリによりどの程度のデータが取得されているか
実行プランの確認方法の例
SSMS からグラフィカルな実行プランを取得する設定しクエリを実行
SET STATISTICS PROFILE ON を実行してからクエリを実行
コストの高い操作を把握
64.
インデックスの使用状況
db tech showcase201464
アクセスコストは一般的には Index Scan > Index Seek
Table Scan / Clustered Index Scan はテーブルのデータを全件取得
Clustered Index Scan > Index Scan > Clustered Index Seek > Index Seek
アクセスコストの高い操作は CPU への負荷も高くなる
キャッシュされているデータの取得にも CPU コストはかかる
sys.dm_db_index_usage_stats からインデックスの使用状況を取得できる
65.
ディスクネックから CPU ネックへ
dbtech showcase 201465
ディスクの高速化により、CPU ネックになる傾向が出てくる
処理内容の大小にかかわらず、処理をするには CPU を使用
SET NOCOUNT ON
GO
DECLARE @i bigint
WHILE(0=0)
BEGIN
SET @i += 1
END
コンパイル済みクエリでも実行されれば CPU は使用される
キャッシュされているクエリの再実行でも CPU は使用される
取得データが多ければキャッシュされていても CPU 負荷は上昇する
66.
Clone DB の作成
dbtech showcase 201466
データベースのバックアップ / リストアによりデータベースのコピー
ができればベスト
本番環境のデータベースを開発環境にリストア
データベースのバックアップを使用すると以下の状態が再現可能
断片化の発生状況
統計情報
データベースのコピーができない場合は、Clone DB を作成することで、
再現環境を作成する
Clone DB を作成することで、テーブルのスキーマと統計情報をコピーできる
推定実行プランを使用した実行プランの確認
How to generate a script of the necessary database metadata to create a statistics-
only database in SQL Server 2005 and in SQL Server 2008
http://support.microsoft.com/kb/914288