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 に対して設定できます。PUBLIC または別のユーザ/ロールに対してこのオプションを設定するには SET ANY PUBLIC OPTION システム権限が必要です。すぐに有効になります。
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 オプションは効力を持ちません。