次の方法で共有


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_modepgms_wait_sampling.query_capture_mode よりも優先されます。 pg_qs.query_capture_modenone の場合、pgms_wait_sampling.query_capture_mode 設定は無効となります。

必要なデータを保持します。

pg_qs.retention_period_in_days パラメーターは、クエリ ストアのデータ保有期間を指定します。 その期間より古い記録済みの統計情報は削除されます。 また、それらを参照する統計情報がないクエリのクエリ テキストやクエリ プランも削除されます。 既定では、クエリ ストアはデータを 7 日間保持するように構成されています。 使用予定のない履歴データは保持しないようにしてください。 もっと長くデータを保持する必要がある場合は、この値を大きくします。