本章介绍与索引扫描相关的两个功能, 即Heap Only Tuple和Index-Only Scans。
Heap Only Tuple (HOT)
HOT是在8.3版中引入的, 当更新的行存储在旧行所在的page时,可以有效地使用索引和表的页。HOT有效的减少了vacuum操作。
源码目录README.HOT描述了HOT的细节。 本章简要介绍了HOT。
更新没有HOT的行
假设表 “tbl” 有两列:“id"和"data”;"id"是"tbl"的主键。
testdb=# \d tbl
Table "public.tbl"
Column | Type | Collation | Nullable | Default
--------+---------+-----------+----------+---------
id | integer | | not null |
data | text | | |
Indexes:
"tbl_pkey" PRIMARY KEY, btree (id)
表"tbl"有1000个tuples;id为"1000"的最后一个tuples存储在表的第5个page。最后一个tuples指向相应的索引元组,其中的键为"1000",其tid为"(5,1)"。请参阅图1(a)。
我们考虑如