暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL索引

原创 redgame 2023-05-07
250

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论