数据库工作台
参数 | 说明 |
表空间 | 表示数据库表的大小,包括表的所有主数据和索引文件,但不包括 toast 数据和相关索引。通过函数 pg_relation_size 计算获取。 |
表空间占比 | 单个表空间大小占所有表空间之和的百分比(仅用户数据),通过 TableSpace / sum(TableSpace) 计算获取。 |
索引空间 | 表示数据库中指定表的所有索引使用的磁盘空间大小,通过函数 pg_indexes_size 计算获取。 |
行长度 | 表示表中存在的行数,取自 pg_stat_user_tables 表中的 n_live_tup 字段。 |
索引访问次数 | 表示表中索引被扫描的次数,取自 pg_stat_user_tables 中的 idx_scan 字段。 说明
|
全表扫描次数 | 表示在特定表上发生顺序扫描的次数,取自 pg_stat_user_tables 中的 seq_scan 字段。 说明 如果全表扫描次数较高时,可能表示 PostgreSQL 正在为这个表执行较多的顺序扫描。对于大型表来说,顺序扫描可能会很慢,您可以按需为常用的查询字段创建索引或优化查询,从而减少顺序扫描的发生,提高查询效率。 |
最近回收时间 | 表示最后一次对特定表执行 VACUUM 操作的时间,取自 pg_stat_user_tables 中的 last_vacuum 字段。在 PostgreSQL 中 VACUUM 操作的用途主要有以下用途:
说明 如果您的表处于高更新或删除中,您可能需要定期执行 VACUUM 操作。last_vacuum 给您提供了上一次执行 VACUUM 的精确时间,便于您跟踪其执行情况并做出相应的调整。 |
最近分析时间 | 表示特定表最后一次进行 ANALYZE 操作的时间,取自 pg_stat_user_tables 中的 last_analyze 字段。 ANALYZE 操作可以收集表和表中列的统计信息,并将这些信息存储在系统目录中。PostgreSQL 的查询优化器可以通过该统计信息帮助决定多种查询执行计划中的最优选择,例如当查询需要从多个表中获取信息时,决定以哪种顺序来获取会最高效。 说明 如果 last_analyze 的时间戳比较旧,则表示该统计信息可能已经不再反映表的当前状态。在这种情况下,您需要运行 ANALYZE 操作来更新统计信息。 |
膨胀率 | 表示死元组(已删除和已更新的行)占总元组(所有行)的百分比,取自 pg_stat_user_tables 中的 round(n_dead_tup * 100 / (n_live_tup + n_dead_tup + 1),2) 字段。 说明 如果膨胀率较大,您可以执行 VACUUM 清理死元组回收存储空间,提升数据库性能。 |
列索引空间大小 | 表示索引的占用空间,通过函数 pg_total_relation_size 计算获取。 |