あまり知られていないSQL Server 2012の機能強化点 (後編)

EnterpriseZine / 2012年5月28日 0時0分

こんにちは。日本マイクロソフトPremier Field Engineering部の古賀です。前回に引き続き、今回も知られざるSQL Server 2012の機能強化点をいくつか紹介していきたいと思います。

■1. 新しく追加されたXMLプランの警告

 SQL Server 2012より以前のバージョンでは、実行プランの中に遅いクエリの解析するための警告がいくつか出力されていました。この警告には、大きく分けて以下の2種類の警告があります。

 • クエリ レベルの警告  クエリ レベルの警告には、missing indexがあります。Missing indexの警告は、インデックスが不足していることを警告します。

 • オペレータ レベルの警告  オペレータ レベルの警告は、オペレータごとに生成される警告です。SQL Server 2012より以前のバージョンでは、「No Join Predicates」と「Missing Column Statistics」がありました。「No Join Predicates」は、結合述語がないことを表し、「Missing Column Statistics」は、その名の通り、列統計が不足していること表しています。

  SQL Server 2012では、これらの警告に加えて、以下の警告がXMLプランに出力されるようになります。ほとんどが、デフォルト トレースで採取されているイベントですし、よく知られたイベントだとは思いますが、XMLプランでも確認できるようになりますので、クエリ チューニングに役立ちます。

 • Hash Warning  ハッシュ演算中にハッシュの再帰、またはハッシュの中断 (ハッシュの保留) が発生したことを表します。

 • Sort Warning  並べ替え操作をメモリ内で処理できないことを示します。

 • Memory Grant Waits  Memory grantsを待機しているときに発生します。

 • Exchange Spill Event  並列クエリ プランの通信バッファーが一時的に tempdb データベースに書き込まれたことを示します。

 参考までに、Sort Warningを発生させて確認する手順を紹介します。

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

トピックスRSS

ランキング