全体アナウンス
Ignite 全体のアナウンスについては以下の情報から確認することができます。
Data and AI の全体アナウンス
Data and AI に特化したアナウンスはこちらから。
SQL Server 関連のアナウンスはこちらから。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
Ignite 全体のアナウンスについては以下の情報から確認することができます。
Data and AI に特化したアナウンスはこちらから。
SQL Server 関連のアナウンスはこちらから。
Ignite 直前に先月の更新情報をキャッチアップ。
SQL Server では実行プランを表示した際に各演算子 (イテレーター) に下図のようなコストラベルが出力されます。
クエリのチューニングを実施する際には、このコストラベルの数値が高い操作についての改善を行うことが多いかと思いますが、コストラベルだけでは判断できない情報もあります。
SQL Server では、「待機事象 (Wait Stats)」の情報を確認することで、インスタンスで同時実行性を低下させる問題が発生しているかの確認をするという分析手法があります。
SQL Server でクエリ実行の処理 (タスク) を実行する際には、タスクは次の状態を遷移しながら処理が行われます。
この 3 種類の状態の中で「待機状態」に入っている時間が少なければ、他の処理により同実行性を低下させることなく、処理を実行することができていることになります。
SQL Server のクエリの最適化を行うための、コンポーネントであるクエリオプティマイザーについて学習しようと思った際にはどのような資料を確認すればよいでしょうか?
公式のドキュメントや、公開されているドキュメントでかなり Deep なものがあり、この機会に公開情報をまとめておきたいと思います。
SQL Server のクエリオプティマイザーの情報というと「実行プラン」から確認するというようなイメージを持つことがあるかもしれませんが、Tree / Memo / 変換ルール というような情報を確認することで、クエリオプティマイザーに一歩踏み込んだ学習をすることができます。
2021 年に入ってからの更新です。
SQL Server では、「メモリにロードされた (バッファ上にキャッシュされた) ページ (データ領域)」を保護するための機構として、「ページラッチ (PAGERATCH)」というリソースを保護するための機能があります。
公式ドキュメントとしては SQL Server でラッチの競合を診断および解決する で解説が行われています。(こちらのドキュメントは以前は英語のホワイトペーパーとして公開されていたものが、Docs で翻訳されたものになるかと)
本ブログではページラッチについて、あまり取り扱ったことが無かった気がするので、この機会にまとめておこうかと。