analyze使用

说明

analyze命令把每列信息写入到pg_statistic

 

测试

create table t1 (id int);

insert into t1(id) values(1);

analyze ​VERBOSE t1

1)执行第一次

rmgr: Heap len (rec/tot): 115/ 115, tx: 1101, lsn: 1/7F61E990, prev 1/7F61E958, desc: INSERT off 2, blkref #0: rel 1663/13287/2619 blk 1

rmgr: Heap len (rec/tot): 188/ 188, tx: 1101, lsn: 1/7F61EA48, prev 1/7F61EA08, desc: INPLACE off 4, blkref #0: rel 1663/13287/1259 blk 1

 

SELECT pg_relation_filepath(oid), relname FROM pg_class order by pg_relation_filepath(oid) asc;

base/13287/2619 | pg_statistic

base/13287/1259 | pg_class

2)执行第二三次

rmgr: Heap len (rec/tot): 76/ 76, tx: 1102, lsn: 1/7F61EBB8, prev 1/7F61EB80, desc: HOT_UPDATE off 2 xmax 1102 ; new off 3 xmax 0, blkref #0: rel 1663/13287/2619 blk 1 rmgr: Heap len (rec/tot): 76/ 76, tx: 1103, lsn: 1/7F61EC88, prev 1/7F61EC50, desc: HOT_UPDATE off 3 xmax 1103 ; new off 4 xmax 0, blkref #0: rel 1663/13287/2619 blk 1

写入的数据内容

select * from pg_statistic where starelid='65709';

插入两行数据后

#select oid from pg_class where relname='t1'; 65709

posted @ 2022-03-09 23:27  stupidstan2019  阅读(248)  评论(0编辑  收藏  举报