文档首页/ 云数据库 GaussDB/ 开发指南(分布式_V2.0-10.x)/ FAQ-非透明多写/ 其他/ 如何查询活跃元组、脏元组、脏元组比例?
更新时间:2026-07-28 GMT+08:00
分享

如何查询活跃元组、脏元组、脏元组比例?

答:查询方法如下:

--查询排名前10的活跃元组、脏元组以及脏元组比例。
gaussdb=#  SELECT schemaname||'.'||relname AS table_name,pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) AS table_size,n_dead_tup,n_live_tup,round(n_dead_tup * 100 / (n_live_tup + n_dead_tup),2) AS dead_tup_ratio FROM pg_stat_all_tables WHERE n_dead_tup >= 1000 ORDER BY dead_tup_ratio DESC LIMIT 10;
               table_name                | table_size |  n_dead_tup  | n_live_tup | dead_tup_ratio 
------------------------------------------+------------+------------+------------+----------------
 pg_catalog.pg_statistic                  | 1136 kB    |       1425 |        647 |          68.77
 snapshot.snap_global_stat_all_indexes    | 8072 kB    |       5559 |      16596 |          25.09
 snapshot.snap_summary_stat_all_indexes   | 7672 kB    |       5466 |      16596 |          24.78
 snapshot.snap_class_vital_info           | 3832 kB    |       3171 |      11094 |          22.23
 snapshot.snap_global_file_iostat         | 11 MB      |      11333 |      46687 |          19.53
 snapshot.snap_summary_file_iostat        | 10 MB      |      11325 |      46687 |          19.52
 snapshot.snap_summary_statement          | 13 MB      |       3832 |      16131 |          19.20
 snapshot.snap_summary_statio_all_indexes | 8128 kB    |       4360 |      19952 |          17.93
 snapshot.snap_global_statio_all_indexes  | 8456 kB    |       4275 |      19952 |          17.65
 snapshot.snap_global_stat_all_tables     | 8216 kB    |       3038 |      16409 |          15.62
(10 rows)

脏元组可作为判断表膨胀程度的指标,高比例的占比可能会导致表的膨胀,需要及时回收空间,避免影响数据库的性能。具体请参见《参考》中“SQL参考 > SQL语法 > V > VACUUM”章节。

相关文档