Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
クエリへの応答を効率化するためにオプティマイザーがマテリアライズドビューを使用する方法を指定します。
Disabled、Fresh、Stale、N { Minute[s] | Hour[s] | Day[s] | Week[s] | Month[s] }
Stale
個々の接続、個々のユーザー、または PUBLIC グループに対して設定できます。すぐに有効になります。
materialized_view_optimization オプションでは、オプティマイザーが古いマテリアライズドビューを使用できる状況を指定できます。
マテリアライズドビュー内のデータは、そのビューが参照するベーステーブルのデータが更新されることによって古くなります。マテリアライズドビューのリフレッシュ頻度を設定するときには、データの古さをどの程度まで許容できるかを検討する必要があります。また、リフレッシュプロセス中はビューがクエリに応答できないため、ビューのリフレッシュに要する時間も考慮に入れます。さらに、データベースの現在の状態を反映していない結果が返されることを受け入れられるかどうかについても考慮する必要があります。このオプションは、以下のいずれかに設定できます。
Disabled クエリの最適化にマテリアライズドビューを使用しません。
Fresh 古くなっていない (基本となるテーブルが前回のリフレッシュ以降に変更されていない) 場合のみマテリアライズドビューを使用します。
Stale 古くなっていてもマテリアライズドビューを使用します。これはデフォルト設定です。
N { Minute[s] | Hour[s] | Day[s] | Week[s] | Month[s] } 古いマテリアライズドビューが指定された時間内にリフレッシュされている場合にかぎり、新しいマテリアライズドビューと古いマテリアライズドビューを使用します。指定する値は分単位とし、231 分未満であることが必要です。データベースサーバーは、1 週間を 7 日、1 か月を 30 日と見なします。
クエリがマテリアライズドビューを直接参照する場合は、古くなっているかどうかにかかわらず、そのビューが使用されます。この場合、materialized_view_optimization オプションは効力を持ちません。