Title of Presentation

SQL パフォーマンス チューニング
~ パフォーマンス改善 最初の一歩 ~
概要
 パフォーマンスに関する悩み
 デモ
 シナリオ 1: インデックスの設定
 シナリオ 2: 統計情報の更新
 シナリオ 3: 断片化の解消
 まとめ
パフォーマンスに関する悩み
開発においてパフォーマンスが向上しない
→ 適切なインデックスの設定
運用においてパフォーマンスが低下してきた
→ 統計情報の更新
→ 断片化の解消
デモ シナリオの流れ
Management Studio からクエリを実行
下記オプションを使用して実行時の情報を確認
 SET STATISTICS IO
 SET STATISTICS PROFILE
 SET STATISTICS TIME
対処を実施
シナリオ 1: インデックスの設定
クラスタ化インデックス未設定 (ヒープ)
Table Scan
読み取りページ数 : 多い
データページ
クラスタ化インデックスの設定
Clustered Index Seek
読み取りページ数 : 少ない
リーフノード
シナリオ 1: インデックスの設定
1. クエリを実行
2. 実行プランを確認
3. インデックスを設定
4. クエリを実行して効果を確認
シナリオ 2: 統計情報の更新
古い統計情報
Clustered Index Seek
読み取りページ数 : 多い
統計情報更新
Clustered Index Scan
読み取りページ数 : 少ない
シナリオ 2: 統計情報の更新
1. 統計情報の自動更新を OFF にしてデータ挿入
2. クエリを実行
3. 統計情報を確認
4. 統計情報を更新
5. クエリを実行して効果を確認
シナリオ 3: 断片化の解消
断片化
Clustered Index Scan
読み取りページ数 : 多い
断片化解消
Clustered Index Scan
読み取りページ数 : 少ない
シナリオ 3: 断片化の解消
1. 断片化を作成
2. クエリを実行
3. 断片化情報を確認
4. 対処策としてインデックスの再構築
5. クエリを実行して効果を確認
まとめ
インデックスの設定
 create clustered index
 データベース エンジン チューニング アドバイザ
統計情報の更新
 update statistics
断片化の解消
 alter index reorganize
 alter index rebuild
参考情報
パフォーマンスの監視およびチューニングの概要
http://msdn.microsoft.com/ja-jp/library/ms189303.aspx
データベース エンジン チューニング アドバイザの使用
http://msdn.microsoft.com/ja-jp/library/bb500296.aspx
クエリのパフォーマンスを向上させるための統計の使用
http://msdn.microsoft.com/ja-jp/library/ms190397.aspx
インデックスの再編成と再構築
http://msdn.microsoft.com/ja-jp/library/ms189858.aspx