🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 58.3\. 自由空间映射 每个堆和索引关系,除了哈希索引, 有个自由空间映射(FSM) 来保持跟踪关系中可用的空间。 将同时在独立的关系叉文件存储主关系数据, 以关系的filenode 编号命名,加上一个`_fsm`后缀。 例如,如果一个关系的filenode是12345, 存储FSM在一个叫`12345_fsm`的文件里, 在与主关系文件相同目录里。 自由空间映射组织为一个FSM页树。 FSM页底层存储每个堆(或索引)页上可用的自由空间, 使用一个字节来代表每一个如页。 高级别的从低级别聚合信息。 每个FSM页是一个二叉树,存储在一个数组, 每个节点一个字节。每个叶节点代表一个堆页,或低级别的FSM页。 在每个非叶节点,存储其子节点值的高级别的值。 因此在根节点存储叶节点的最大值。 参阅`src/backend/storage/freespace/README`关于更详细的FSM是怎样的结构, 怎样更新和搜索它。[pg_freespacemap](#calibre_link-392)模块可以用来审查存储在自由空间映射的信息。