陈老师:1415968548 郑老师:2735197625 乐老师:354331153
客服热线:
19941464235/19906632509(微信同号)

客服微信

【PostgreSQL PGCA题目解析19】在PostgresSQL中,表和索引的行数、块数等统计信息记录在哪个系统表中?

作者:炎燚小寶
原创
发布时间:2024-01-11 09:24
浏览量:141

考试科目PGCA-E-090

考试题量:40 道单项选择题、10 道多项选择题(每题 2 分)

通过分数:60%

考试时间:60min

本文为云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。



在PostgresSQL中,表和索引的行数、块数等统计信息记录在哪个系统表中?

A. pg_statistic

B. pg_proc

C. pg_index

D. pg_class


参考答案:D


解析:


以一条SQL的查询为例

testdb=# select count(1) from s1.t1;
 count
-------
   415
(1 row)

testdb=# explain select count(1) from s1.t1;
                        QUERY PLAN
-----------------------------------------------------------
Aggregate (cost=16.19..16.20 rows=1 width=8)
   -> Seq Scan on t1 (cost=0.00..15.15 rows=415 width=0)
(2 rows)


从上面的结果可以看到,t1表的扫描行数是415 ,真实结果也是415 ,那这个415从哪读取的?

关于pg_class视图解析:https://www.postgresql.org/docs/16/catalog-pg-class.html

查看pg_classs

select pc.oid,relname,pn.nspname,reltuples,pu.usename from pg_class pc,pg_userpu,pg_namespace pn where relname='t1' and usename='test' and pu.usesysid=pc.relowner and pn.oid=pc.relnamespace;
  oid  | relname | nspname | reltuples | usename
-------+---------+---------+-----------+---------
 24594 | t1      | s1      |       415 | test


可以看到t1表属于用户test,模式s1



PostgreSQL PGCA考试为理论考试,需通过PostgreSQL PGCA-E-090 考试才能拿到“PostgreSQL PGCA证书”。



以下是PostgreSQL官网的考试费,可以添加云贝教育的课程顾问老师微信19941464235或者19906632509,咨询有优惠


PostgreSQL证书如下 合格考生公布:考后不超过 5 个工作日  “开源软件联盟 PostgreSQL 分会”公众号发布  证书寄送:考后统一寄送至培训机构)



云贝教育有专业的PostgreSQL PGCA认证培训课程,想快速通过考试的同学可以扫码联系老师咨询(点击文字转跳至PostgreSQL PGCA纲)