パフォーマンスを最大化して速度と効率を向上させる
SQL Server 2025 には、クエリ処理とパフォーマンスの最適化の機能強化が含まれています。 このユニットでは、クエリ処理機能、リソース ガバナンス、およびメンテナンス機能について説明します。
IQP を使用してクエリ処理を最適化する
SQL Server 2025 では、従来のプランの最適化と AI 主導の分析情報と最新のデータ型のサポートを組み合わせることで、Intelligent Query Processing (IQP) を次のレベルに引き上げます。 これらの機能強化により、エンジンはワークロード パターンに動的に適応し、JSON と RegEx を含むクエリを最適化したり、機械学習を使用して実行戦略を微調整したりできます。 開発者と DBA にとって、これは、クエリの高速化、コンカレンシーの向上、リアルタイム分析と半構造化データのパフォーマンスの向上を意味します。すべて手動でチューニングする必要はありません。
クエリ プロセッサは、ワークロード パターンとシステム リソースに基づいて実行プランを最適化します。 主な機能強化は次のとおりです。
| 特徴 | [説明] | メリット |
|---|---|---|
| 最適化されたロック | コンカレンシー制御メカニズムの強化 | マルチユーザー アクセスの向上 |
| ハロウィーンの保護 | 合理化された更新/削除操作 | 変更のオーバーヘッドの削減 |
| 計画の再利用 | より優れたsp_executesql実装 | より一貫性のある動的 SQL パフォーマンス |
| アダプティブ実行 | ランタイム プランの調整 | さまざまなデータに最適なパフォーマンス |
| オプショナルパラメータ計画の最適化 (OPPO) | NULL パラメーターと NOT NULL パラメーターに基づいて実行時に最適なプランを選択します | 省略可能なパラメーターを使用してクエリのパフォーマンスを向上させる |
| 式に関するカーディナリティの推定 (CE) フィードバック | 繰り返し式のカーディナリティ推定を絞り込むための以前の実行から学習します | より正確な見積もり、より良い計画選択 |
OPTIMIZED_SP_EXECUTESQL |
sp_executesqlをコンパイル用のストアド プロシージャのように処理することで、コンパイル ストームを削減します。 | クエリの負荷が大きい場合の安定性とパフォーマンスが向上します |
Query Storeを使用してパフォーマンスを監視する
Query Store は、時間の経過と共にクエリのパフォーマンスを追跡し、回帰の問題を検出するのに役立ちます。
SQL Server 2025 のQuery Store機能は次のとおりです。
セカンダリ レプリカでのパフォーマンス監視
- 読み取り可能なセカンダリのクエリ パフォーマンスを追跡する
- Always On 可用性グループのサポート
- 分散環境での一貫した監視
自動クエリの最適化
- クエリ回帰の検出と修正
- クエリ パターンに基づくインデックスの推奨事項
- 改善に関する提案を計画する
分散ワークロードの分析情報
- データベース間クエリの監視
- レプリカ間のパフォーマンス追跡
- リソース使用状況の分析
ヒント
最もアクティブなデータベースでQuery Storeを有効にして、パフォーマンス ベースラインを構築し、最適化の機会を特定します。
高度なクエリ機能を実装する
SQL Server 2025 では、高度なクエリ機能がシンプルで強力になります。 これらの機能強化には、パラメーターに依存するプランの最適化、カーディナリティ推定フィードバック、アダプティブ並列処理、および分析のためのバッチ モードの機能強化が含まれます。 また、開発者は、オプションのパラメーター プランと新しいクエリ ヒントを使用してより細かい制御を行い、さまざまなワークロードでクエリを効率的に実行しながら、手動による介入を減らします。
これらの機能を使用して、データベース アプリケーションの特定のパフォーマンス シナリオに対処します。
SQL Server 2025 には、次のクエリ処理の機能強化が含まれています。
- パラメーター機密性の高いプラン (PSP) の最適化: パラメーター値パターンに基づいて複数の実行プランを自動的に作成および維持し、さまざまなパラメーター値を持つクエリのパフォーマンスを向上させる
- 既定では、並列処理の次数 (DOP) フィードバック: クエリの履歴パフォーマンスに基づいて並列実行設定を自動的に調整し、リソース使用率を最適化します
- 分析のためのバッチ モードの最適化: ベクター化された操作とメモリ効率の向上により、分析クエリのパフォーマンスが向上します
- 省略可能なパラメーター プランの最適化: 省略可能なパラメーターを使用してクエリの効率的な実行プランを生成し、動的 SQL の必要性を減らします
- ABORT_QUERY_EXECUTIONクエリ ヒント: クエリの実行をきめ細かく制御でき、特定の操作を意図的に終了できます
リソースとメンテナンスの管理
信頼性、速度、メンテナンスの容易さを高めると同時に、DBA をより制御し、手動作業を減らすことを目的とした新しい機能。 これらの機能により、DBA はシステム リソースをより詳細に制御し、日常的なタスクを自動化し、予期しないイベント中のダウンタイムを最小限に抑えることができます。
これらの機能を組み合わせることで、最新のデータ環境の効率と回復性が向上します。
- Tempdb 領域リソースのガバナンス: ワークロード グループごとの tempdb 領域の使用を制御および制限し、ランナウェイ クエリが過剰な一時ストレージを消費するのを防ぐ
- tempdb の高速データベース復旧 (ADR): 予期しないシャットダウン後の tempdb の高速復旧、データベースのダウンタイムの短縮、システムの可用性の向上
- Linux での tempdb のサポート: tempdb のパフォーマンスを向上させ、I/O 待機時間を短縮するために、Linux でメモリベースの一時ファイル システムを使用する
- 列ストア インデックスのメンテナンスの機能強化: 圧縮の向上やセグメントの効率的な削除など、列ストア インデックスのメンテナンス操作が強化されました
- 変更追跡の自動クリーンアップ: 変更追跡テーブルの自動メンテナンス、手動オーバーヘッドの削減、最適なパフォーマンスの確保
- In-Memory OLTP をデータベースから削除します。 不要になったときにメモリ最適化テーブルとネイティブ コンパイル モジュールをデータベースから削除する簡略化されたプロセス