首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解btree页面内部项目

理解btree页面内部项目
EN

Database Administration用户
提问于 2023-05-23 00:34:51
回答 1查看 25关注 0票数 0
代码语言:javascript
复制
-- https://doxygen.postgresql.org/btreefuncs_8c_source.html#l00625
CREATE TABLE s2 AS  SELECT  g::int AS g FROM generate_series(1, 10000) g;
ALTER TABLE s2 ADD PRIMARY KEY (g);

SELECT root,level FROM bt_metap ('s2_pkey');

SELECT * FROM bt_page_stats ('s2_pkey', 3) gx

SELECT  itemoffset,itemlen,ctid
        ,pg_column_size(ctid) ctid_size,data
        ,pg_column_size(data) size_data
FROM    bt_page_items ('s2_pkey', 3)
ORDER BY    itemoffset LIMIT 10;

返回

代码语言:javascript
复制
 itemoffset | itemlen |  ctid  | ctid_size |          data           | size_data
------------+---------+--------+-----------+-------------------------+-----------
          1 |       8 | (1,0)  |         6 |                         |         1
          2 |      16 | (2,1)  |         6 | 6f 01 00 00 00 00 00 00 |        24
          3 |      16 | (4,1)  |         6 | dd 02 00 00 00 00 00 00 |        24
          4 |      16 | (5,1)  |         6 | 4b 04 00 00 00 00 00 00 |        24
          5 |      16 | (6,1)  |         6 | b9 05 00 00 00 00 00 00 |        24
          6 |      16 | (7,1)  |         6 | 27 07 00 00 00 00 00 00 |        24
          7 |      16 | (8,1)  |         6 | 95 08 00 00 00 00 00 00 |        24
          8 |      16 | (9,1)  |         6 | 03 0a 00 00 00 00 00 00 |        24
          9 |      16 | (10,1) |         6 | 71 0b 00 00 00 00 00 00 |        24
         10 |      16 | (11,1) |         6 | df 0c 00 00 00 00 00 00 |        24
(10 rows)

我想知道16项是什么意思?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2023-05-23 04:33:21

itemlen只是索引条目的大小。ctid有8个字节的数据和6个字节,然后将其舍入到下一个8的倍数。所以大小是16个字节。

第一项是“高键”,它没有数据,因此大小为8。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/327400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档