Azure Database for PostgreSQL - フレキシブル サーバーでのクエリ ストアに関するベスト プラクティス
適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
この記事では、Azure Database for PostgreSQL - フレキシブル サーバーでクエリ ストアを使用する際のベスト プラクティスについて説明します。
最適なクエリ キャプチャ モードを設定します。
重要なクエリをキャプチャできるようにクエリ ストアを構成します。
pg_qs.query_capture_mode | シナリオ |
---|---|
all |
(最上位レベルや入れ子になった) すべてのクエリとその実行頻度、およびその他の統計情報をキャプチャします。 ワークロード中の新しいクエリを特定します。 ユーザー定義のパラメーター化または自動化によるパラメーター化の機会を特定するために、アドホック クエリが使用されているかどうかを検出します。 |
top |
最上位レベルのクエリのみをキャプチャします。 最上位レベルのクエリとは、クライアントによって直接発行されたクエリのことです。 これには、入れ子になったステートメント (プロシージャまたは関数内で実行されるステートメント) は含まれません。 |
top |
このように構成されている間は、新しいクエリはキャプチャしません。 この値に設定する必要があるのは、調査したい時間枠内のクエリ セットのキャプチャが完了しており、新しいクエリの記録を継続したくない場合です。 none は、テストおよびベンチマーク環境に適しています。 重要な新しいクエリを追跡して最適化する機会を逃す可能性があるため、none の使用は注意深く行う必要があります。 |
Note
pg_qs.query_capture_mode
は pgms_wait_sampling.query_capture_mode
よりも優先されます。 pg_qs.query_capture_mode
が none
の場合、pgms_wait_sampling.query_capture_mode
設定は無効となります。
必要なデータを保持します。
pg_qs.retention_period_in_days
パラメーターは、クエリ ストアのデータ保有期間を指定します。 その期間より古い記録済みの統計情報は削除されます。 また、それらを参照する統計情報がないクエリのクエリ テキストやクエリ プランも削除されます。 既定では、クエリ ストアはデータを 7 日間保持するように構成されています。 使用予定のない履歴データは保持しないようにしてください。 もっと長くデータを保持する必要がある場合は、この値を大きくします。