🙆‍♀️

SQL Server パフォーマンス改善につながる新機能

2021/10/02に公開

最近のSQL Serverで追加されたパフォーマンス改善につながる新機能についてまとめておく。

テーブル変数の遅延コンパイル

テーブル変数のコンパイルがこれまでは1行想定でコンパイルを行っていた。
この機能により、テーブルを参照するクエリでの行数を元にコンパイルを行うようになる。

https://docs.microsoft.com/ja-jp/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15#table-variable-deferred-compilation

スカラー UDF のインライン化

ユーザー定義のスカラー関数を呼び出すクエリにおいてインライン化する。

https://docs.microsoft.com/ja-jp/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15#scalar-udf-inlining

階層データ

hierarchyid データを使うことで階層データの格納とクエリが容易になる。
親子関係をクエリで計算している箇所の最適化が可能である。

https://docs.microsoft.com/ja-jp/sql/relational-databases/hierarchical-data-sql-server?view=sql-server-ver15

シーケンシャル キー

テーブルに新しい行を追加する際に最後のページへのINSERTが競合する問題を解決する。
INSERT処理が多いテーブルのパフォーマンス改善ができるのではないか。

https://docs.microsoft.com/ja-jp/sql/t-sql/statements/create-index-transact-sql?view=sql-server-ver15#sequential-keys

Discussion