So-net無料ブログ作成
検索選択

SQL Server 2016 新しいクエリヒント [SQL Server]


SQL Server 2016のクエリヒントに新しい物が入っているようです。
https://msdn.microsoft.com/en-us/library/ms181714(v=sql.130).aspx

MIN_GRANT_PERCENT
MAX_GRANT_PERCENT

の2つですがこれらでクエリ実行時に確保するメモリのコントロールができそうです。
これは個人的にはかなり嬉しい機能です。
チューニングの仕事をしているといくつか見かけるのが、Workspace Memory Pending
によるクエリ実行待ちによる遅延です。
クエリは実行する際に最初にメモリを予約します。
Workspace Memoryはソートやハッシュ計算に使われるものですが、
時に過大なメモリ見積もりがされることがあります。
そのときメモリ領域に空きが無いと、クエリは実行前で待たされ、結果としてクエリ終了が遅くなるケースがあります。

クエリヒントを使うことでメモリ解放待ちになっているケースをが救えそうです。
2014まではmax server memoryの調整やクエリの変更を行っていたため、
かなり大がかりな変更が必要でした。

なおパフォーマンスカウンタのMemory Manage:Memoru Grants Pendingを監視することでワークスペースメモリ待機待ちのクエリ数を監視することができます。

スポンサードリンク




nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:仕事

nice! 1

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。