無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

58.4. 可視性マップ

各ヒープリレーションは、どのページがすべての実行中のトランザクションから可視であることが分かっているタプルのみを持つことを追跡する、可視性マップ(VM)を持ちます。 これは、リレーションのファイルノード番号に _vm という接尾辞を付与した名前の別のリレーションフォーク内に主リレーションデータと並行して格納されます。 例えばリレーションのファイルノードが12345の場合、VMは主リレーションファイルと同じディレクトリ内の 12345_vm というファイル内に格納されます。 インデックスはVMを持たないことに注意してください。

可視性マップは単にヒープページ当たり1ビットを保持します。 セットされたビットは、ページ内のすべてのタプルがすべてのトランザクションから可視であることが分かっていることを意味します。 これは、そのページにはバキュームが必要なタプルをまったく含んでいないことを意味します。 またこの情報は、インデックスタプルのみを使用して問い合わせに答えるために インデックスオンリースキャン によっても使用されます。

このマップは、ビットがセットされている時は常にこの条件が真であることを確実に把握できるという点で保守的ですが、ビットがセットされていない場合は、真かもしれませんし偽かもしれません。 可視性マップのビットはバキュームによってのみで設定されます。 しかしページに対する任意のデータ編集操作によってクリアされます。


powered by SEO.CUG.NET