【单选题】在 KingbaseES V8 中,哪个文件保存了只包含对所有活动事务可见的 tuple 的数据页的追踪信息?
- relfilenode_vm
- relfilenode_fsm
- relfilenode
- relfilenode_init
解题思路:
查看数据库的信息:
test=# select datname,oid from pg_database;
datname | oid
-----------+-------
kingbase | 12258
test | 12259
template1 | 1
template0 | 12257
security | 12260
(5 行记录)
test=# select oid,relname,reltype,relfilenode from pg_class where oid=1247;
oid | relname | reltype | relfilenode
------+---------+---------+-------------
1247 | pg_type | 71 | 0
查看其中一个数据库的文件(存放于数据文件目录的 base 目录下):
[kingbase@kes:/home/kingbase]$ cd /data/base
[kingbase@kes:/data/base]$ ls
1 12257 12258 12259 12260
## 查看 test 数据库文件
[kingbase@kes:/data/base]$ cd 12259
## 太多文件,这里以 1247 为例
[kingbase@kes:/data/base/12259]$ ll 1247*
-rw------- 1 kingbase kingbase 163840 10月 8 16:00 1247
-rw------- 1 kingbase kingbase 24576 9月 24 21:13 1247_fsm
-rw------- 1 kingbase kingbase 8192 10月 8 16:00 1247_vm
可以看到有很多 _vm 和 _fsm 结尾的文件:
- 后缀是
fsm的是空闲空间映射文件(free space map)文件,这个文件是用来进行空间映射的,表示页面中可以使用的空余空间。 - 后缀是
vm文件是可见性映射文件(visibility map),标识该页的所有元组对所有事务是否可见,如果标识可见可以跳过 vacuum 扫描。 - 后缀是
init文件是每一个不记录日志表或者该表上的每一个索引都会有个对应的文件。
本文不做细究,事务可见性选择 relfilenode_vm。
可参考:
最后修改时间:2024-10-12 11:08:39
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




