Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
実機で試す SQL Server の現状取得         SQLTO 小澤 真之 (@Masayuki_Ozawa)         http://engineermemo.wordpress.com
自己紹介  •   SQLTO という SQL Server のコミュニティの運営スタッフをしています。      –   2012/8/4 (土) に次回の勉強会を予定しています。  •   SE の雑記というブログ で (http://en...
本日のハンズオン•   配布物の確認    –   ハンズオンマニュアル (1 部) があるかをご確認ください•   本日は 3 種類のハンズオンを用意しています。    – ハンズオン 3 は時間が余った方向けのオプションとして用意しました ...
本日の Agenda  ハンズオンの内容について (10 分)    ハンズオン 1 : メモリ情報の取得 (15 分)    ハンズオン 2 : インデックス使用状況の確認 (15 分)  まとめ / 質疑応答 (10 分)    2012/...
ハンズオンの内容について2012/6/9   Community Open Day 2012   5
ハンズオン 1•   ハンズオンの内容    –   データを SELECT / INSERT / UPDATE するとディスクからメモリ (データキャッシュ)        にデータがロキャッシュされます。        また、これらのデータ...
参考) ざっくりとした SQL Server のメモリ管理                                Database Cache (Buffer Cache)                                ...
ハンズオン 2•   ハンズオンの内容    –   データを効率よく検索するためのインデックス。        インデックスの操作には全件を読む Scan と対象のデータをポイントで読む Seek の 2        種類の代表的な操作があ...
参考) Scan 操作と Seek 操作             Scan 操作                                         Seek 操作               ルート                ...
ハンズオン開始•   それでは、お手元のハンズオンマニュアルを参照して演習を実施してください    –   開始して、しばらくしたら一度進捗を確認させていただきます•   内容に不明な点が遠慮なくありましたらお声掛けください          ...
まとめ / 質疑応答2012/6/9   Community Open Day 2012   11
ハンズオン 1 (1/2)パフォーマンスモニターでは取得が出来ない詳細なメモリの情報 (データベース別 / クエリの種類別) に関しては動的管理ビュー (DMV) を使用して取得することができます。SQL Server のメモリの使用状況を確認...
ハンズオン 1 (2/2)•   パフォーマンスモニターのデータはログに取得することができます。このログは CSV    形式でエクスポートすることが可能ですので以下のようなグラフを作成することが    できます。    –   SQL Ser...
参考)データコレクション    2012/6/9   Community Open Day 2012   14
ハンズオン 2 (1/2)•   データの件数が多いテーブル (クラスター化インデックス) に非クラスター化インデッ    クスを設定することで検索の効率が向上しますが、更新の頻度が多いテーブル    だった場合には、更新される対象が多くなり更...
ハンズオン 2 (2/2)•   動的管理ビューからデータを取得するのではなく、設定されているインデックスを    ベースにして動的管理ビューのデータを取り出すのがポイント    –   今回使用した動的管理ビューには 使用されたインデックス ...
皆様ハンズオンお疲れ様でした。 引き続き Community Open Day 2012 を        お楽しみください!!2012/6/9       Community Open Day 2012   17
Upcoming SlideShare
Loading in …5
×

COD2012 T2/T3 : 実機で試す SQL Server の現状取得

1,414 views

Published on

  • Be the first to comment

  • Be the first to like this

COD2012 T2/T3 : 実機で試す SQL Server の現状取得

  1. 1. 実機で試す SQL Server の現状取得 SQLTO 小澤 真之 (@Masayuki_Ozawa) http://engineermemo.wordpress.com
  2. 2. 自己紹介 • SQLTO という SQL Server のコミュニティの運営スタッフをしています。 – 2012/8/4 (土) に次回の勉強会を予定しています。 • SE の雑記というブログ で (http://engineermemo.wordpress.com)で SQL Server を 中心とした Microsoft 製品の検証結果を誤字脱字を交えながら、つらつらと投稿しています ので興味のある方がいらっしゃいましたらご覧いただけると幸いです • SNS のアカウント – Twitter : @Masayuki_Ozawa – Facebook :masayuki.ozawa • なぜスピーカー名が“ムッシュ 小澤”になっているか気になった方がいらっしゃいましたらこちらを参照ください (気づいたらこのスピーカー名になっていたのですが面白そうだからそのままにしました)名付け親 スピーカー名を 提出の容疑者 – http://togetter.com/li/169645 – プライバシー保護のため画像を一部モザイク化してお送りしています。 2012/6/9 Community Open Day 2012 2
  3. 3. 本日のハンズオン• 配布物の確認 – ハンズオンマニュアル (1 部) があるかをご確認ください• 本日は 3 種類のハンズオンを用意しています。 – ハンズオン 3 は時間が余った方向けのオプションとして用意しました – ハンズオン 1 / 2 を今回のセッションの範囲としています• 本ハンズオンは SQL Server のメモリの使用状況やインデックスの利用状況の 取得についての足掛かりとなる情報を取得するためのセッションとなっています。 取得した情報を基にしたパフォーマンスチューニングには触れていませんのでご了 承ください。 2012/6/9 Community Open Day 2012 3
  4. 4. 本日の Agenda ハンズオンの内容について (10 分) ハンズオン 1 : メモリ情報の取得 (15 分) ハンズオン 2 : インデックス使用状況の確認 (15 分) まとめ / 質疑応答 (10 分) 2012/6/9 Community Open Day 2012 4
  5. 5. ハンズオンの内容について2012/6/9 Community Open Day 2012 5
  6. 6. ハンズオン 1• ハンズオンの内容 – データを SELECT / INSERT / UPDATE するとディスクからメモリ (データキャッシュ) にデータがロキャッシュされます。 また、これらのデータを取得するためのクエリを実行するとそのクエリを実行するために必 要となる実行プランがメモリ (プランキャッシュ) にキャッシュされます。 – 本ハンズオンではこれらのキャッシュでどの程度のサイズのメモリが使用されているかを確 認します。• 使用するツール – SQL Server Management Studio – パフォーマンスモニタ 2012/6/9 Community Open Day 2012 6
  7. 7. 参考) ざっくりとした SQL Server のメモリ管理 Database Cache (Buffer Cache) ハンズオンで 確認 Plan Cache (Query Cache) バッファプール Log Cache Buffer Manager /Memory Manager が管理 = Min / Max Server Lock Memory Memory の設定 Granted Workspace Memory Connection Memory MemToLeave (MemToReserve) 非バッファプール Buffer Manager / Worker Thread Stack Memory Manager の 管理外 SQL Server フットプリント 2012/6/9 Community Open Day 2012 7
  8. 8. ハンズオン 2• ハンズオンの内容 – データを効率よく検索するためのインデックス。 インデックスの操作には全件を読む Scan と対象のデータをポイントで読む Seek の 2 種類の代表的な操作があります。 – 本ハンズオンでは設定されているインデックスで Seek / Scan が行われている回数を 確認します。• 使用するツール – SQL Server Management Studio 2012/6/9 Community Open Day 2012 8
  9. 9. 参考) Scan 操作と Seek 操作 Scan 操作 Seek 操作 ルート ルート ノード ノード 中間 中間 中間 中間 ノード ノード ノード ノードリーフ リーフ リーフ リーフ リーフ リーフノード ノード ノード ノード ノード ノード取得対象のデータの場所が特定できないため 取得対象のデータの場所が特定できるため リーフノードのページをすべて確認する 対象のリーフノードのページを取得する 実行コストが高い 実行コストが低い 2012/6/9 Community Open Day 2012 9
  10. 10. ハンズオン開始• それでは、お手元のハンズオンマニュアルを参照して演習を実施してください – 開始して、しばらくしたら一度進捗を確認させていただきます• 内容に不明な点が遠慮なくありましたらお声掛けください 2012/6/9 Community Open Day 2012 10
  11. 11. まとめ / 質疑応答2012/6/9 Community Open Day 2012 11
  12. 12. ハンズオン 1 (1/2)パフォーマンスモニターでは取得が出来ない詳細なメモリの情報 (データベース別 / クエリの種類別) に関しては動的管理ビュー (DMV) を使用して取得することができます。SQL Server のメモリの使用状況を確認する場合、 – SQL Server でメモリを ~ MB 使用しているという状態を確認するのではなく – SQL Server のデータのキャッシュで ~ MB メモリを使用している – SQL Server のクエリのキャッシュで ~ MB メモリを使用している – データのキャッシュの中で ~ データベースが ~ MB メモリを使用している – クエリのキャッシュではストアドプロシージャが ~ MB / アドホッククエリが ~ MB / プリ ペアードクエリが ~ MB メモリを使用しているという情報が重要になってきます。 2012/6/9 Community Open Day 2012 12
  13. 13. ハンズオン 1 (2/2)• パフォーマンスモニターのデータはログに取得することができます。このログは CSV 形式でエクスポートすることが可能ですので以下のようなグラフを作成することが できます。 – SQL Server 2008 以降の Enterprise Edition を使用している場合はデータコレ クションの機能を使用することでパフォーマンスのログを取得することができます。 空きメモリ プランャキャッシュ データキャッシュ 2012/6/9 Community Open Day 2012 13
  14. 14. 参考)データコレクション 2012/6/9 Community Open Day 2012 14
  15. 15. ハンズオン 2 (1/2)• データの件数が多いテーブル (クラスター化インデックス) に非クラスター化インデッ クスを設定することで検索の効率が向上しますが、更新の頻度が多いテーブル だった場合には、更新される対象が多くなり更新のコストが上がる可能性があり ます。 – 更新頻度の高いテーブルの判断 – 更新頻度の高いテーブルに不要なインデックスを設定 – 必要なインデックスが不足している• という判断の取り掛かりとなる情報を取得することが可能となります。 2012/6/9 Community Open Day 2012 15
  16. 16. ハンズオン 2 (2/2)• 動的管理ビューからデータを取得するのではなく、設定されているインデックスを ベースにして動的管理ビューのデータを取り出すのがポイント – 今回使用した動的管理ビューには 使用されたインデックス の情報が記録されているた め、度的管理ビューだけでは 一度も使用されていないインデックスの情報 を取得する ことができません。• 再起動前にデータを取得するのが重要 – 今回使用した動的管理ビューのデータは SQL Server を最後に起動してからの累計 値となっています。 – SQL Server のサービスを再起動すると初期化されてしまうため、活きたデータを取得 するためには再起動前に取得する必要があります。 2012/6/9 Community Open Day 2012 16
  17. 17. 皆様ハンズオンお疲れ様でした。 引き続き Community Open Day 2012 を お楽しみください!!2012/6/9 Community Open Day 2012 17

×