meta page和root page是一定有的,meta page需要一个页来存储,表示指向root page的page id。
随着记录数的增加,一个root page可能存不下所有的heap item,就会有leaf page,甚至branch page,甚至多层的branch page。
一共有几层branch和 leaf,可以用btree page元数据的level来表示。
live_items:存活的索引行
dead_items:死亡的索引行
avg_item_size:平均索引行大小
page_size:块大小,详细看最后说明
free_size:块空余大小
btpo_prev:块左边
btpo_next:块右边
btpo:当前块层次,0代表处于0层
btpo_flags:当前块类型,3代表:他既是leaf又是root,即2+1
meta page
root page:表示为btpo flags=2
branch page :表示为btpo flags=0
leaf page:表示为btpo flags=1
Vacuum用于清理死亡元组占用的存储空间,默认删除或因更新过期(为了MVVC)的元组不会被物理删除。因此需要周期性的进行Vacuum,尤其是频繁更新的表
Analyze命令用于统计数据库表数据,统计结果存储到pg_statistic系统表中。数据库进行基于成本的优化(CBO)时通过统计数据优化SQL语句的解释计划。
live_items:存活的页块
dead_items:死亡的页块
avg_item_size:平均索引行大小
page_size:块大小,详细看最后说明
free_size:块空余大小
btpo_prev:块左边
btpo_next:块右边
btpo:当前块层次,1代表处于2层,表示下面还有一层
btpo_flags:当前块类型,3代表:他既是leaf又是root,即2+1
meta page
root page:表示为btpo flags=2
branch page :表示为btpo flags=0
leaf page:表示为btpo flags=1