我发现feedback_entity的膨胀率是48%
current_database | schemaname | tblname | real_size | extra_size | extra_ratio | fillfactor | bloat_size | bloat_ratio | is_na
stackdb | public | feedback_entity | 5743878144 | 2785599488 | 48.4968416488746 | 100 | 2785599488 | 48.4968416488746 | f但是当我检查自动真空设定时,它有10%的自动真空设定。
stackdb=> show autovacuum_vacuum_scale_factor;
autovacuum_vacuum_scale_factor
--------------------------------
0.1
(1 row)
stackdb=> show autovacuum_vacuum_threshold;
autovacuum_vacuum_threshold
-----------------------------
50
(1 row)此外:自动真空设置是打开的。所述表的自动真空在规定的阈值下定期运行。
我的问题是,当自动真空运行到死元组的10%时,为什么膨胀的尺寸会增加到48%。我在数百个数据库/表中也看到过类似的行为。为什么桌子上的浮肿总是在增加,而不是每次真空后都会下降。
发布于 2022-06-13 06:20:05
用来计算表膨胀的查询是不可靠的。要确定实际的膨胀,请使用pgstattuple扩展和查询,如下所示:
SELECT * FROM pgstattuple('public.feedback_entity');但这张桌子可能真的很臃肿。这有两个主要原因:
https://stackoverflow.com/questions/72596589
复制相似问题