Superset二次开发之PostgreSQL 统计信息介绍

pg_stat_user_tables 视图提供了关于 PostgreSQL 数据库中用户定义表的统计信息。这些统计信息涵盖了从表的扫描操作到修改次数等多个方面。

以下是 pg_stat_user_tables 中所有字段的含义:

  • relid: 表的 OID(对象标识符)。这是表在系统中的唯一标识。
  • schemaname: 表所在的模式(schema)名称。
  • relname: 表的名称。
  • seq_scan: 顺序扫描的次数。顺序扫描是指对表中的每一行进行扫描的操作。
  • seq_tup_read: 通过顺序扫描读取的行数。
  • idx_scan: 索引扫描的次数。索引扫描是利用索引来查找行的操作。
  • idx_tup_fetch: 通过索引扫描获取的行数。
  • n_tup_ins: 插入的行数。
  • n_tup_upd: 更新的行数。
  • n_tup_del: 删除的行数。
  • n_tup_hot_upd: "热"更新的行数。"热"更新是指在更新操作中,如果行没有移动到不同的数据块,并且旧版本的行对任何事务都不可见,则认为是"热"的,这可以减少对索引的维护开销。
  • n_live_tup: 表中当前存活的行数。这不包括被删除或已更新并被其他行版本替代的行。
  • n_dead_tup: 表中已删除或已更新并被其他行版本替代的行数。这些行可能在将来由 VACUUM 操作清理。
  • n_mod_since_analyze: 自上次分析(ANALYZE)操作后对表所做的修改次数,包括插入、更新和删除。
  • last_vacuum: 最后一次对该表执行 VACUUM 操作的时间戳(如果有的话)。
  • last_autovacuum: 最后一次对该表执行自动 VACUUM 操作的时间戳(如果有的话)。
  • last_analyze: 最后一次对该表执行 ANALYZE 操作的时间戳(如果有的话)。
  • last_autoanalyze: 最后一次对该表执行自动 ANALYZE 操作的时间戳(如果有的话)。
  • vacuum_count: 对该表执行 VACUUM 操作的次数(不包括自动 VACUUM)。
  • autovacuum_count: 对该表执行自动 VACUUM 操作的次数。
  • analyze_count: 对该表执行 ANALYZE 操作的次数(不包括自动 ANALYZE)。
  • autoanalyze_count: 对该表执行自动 ANALYZE 操作的次数。

这些统计信息可以帮助数据库管理员理解表的使用模式,例如哪些表最频繁地被更新或扫描,以及可能需要优化的地方。它们也是数据库维护活动(如 VACUUM 和 ANALYZE)计划的重要依据。

相关推荐
数据知道27 分钟前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
玄同76541 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
HoneyMoose42 分钟前
PostgreSQL 创建用户表的时候提示 user 错误
postgresql
吾日三省吾码42 分钟前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean44 分钟前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707531 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
码农小卡拉2 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣502 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql