Improved Query Performance with Compatibility Level 130 in Azure SQL Database でアナウンスがあったのですが、2016/6 から新規に作成したデータベースの互換s例ベルが 120 から 130 に変更となるようです。
Starting in June 2016, the Azure SQL Database default will change from 120 to 130 for newly created databases. Databases created before June 2016 won’t be affected and will keep running at the Compatibility Level they were initially created with (100, 110 or 120). The same goes for databases migrated from Azure SQL Database v11 to v12.
互換性レベルを 130 にすることで、以下のような動作の実行が変わってきます。
- INSERT INTO SELECT で並列 INSERT
- 列ストアインデックスでのシングルスレッドでのバッチモード
- ソートのバッチモードでの実行
- 基数推定の改善
データベーススコープの構成変更が使用できるようになっていますので、以下のような設定変更を行うことも可能です。
クエリオプティマイザーのホットフィックス、新しい基数推定の無効化などは、クエリの実行プランへの影響が考えられますので設定変更ができることは覚えておくとよさそうですね。
SELECT name, compatibility_level FROM sys.databases ALTER DATABASE MyTestDB SET COMPATIBILITY_LEVEL = 130 ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = OFF ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0 ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = ON
[…] 2016/6 から SQL Database の新規 DB 作成時の互換性レベルが 130 に変更されるようです […]
Azure Update (2016.05.12) | ブチザッキ
12 5月 16 at 05:10