我有一个大的postgresql表,我认为它已经开始变得臃肿了,我想解决这个问题。 通常我可以做一个VACUUM FULL或CLUSTER ,但我想知道如果我可以修复膨胀不影响读/写性能。
如果存在索引膨胀,我可以(手动)同时创build一个新的索引,索引与旧索引相同的东西,但名称不同,创build时可以删除旧的,臃肿的索引。 这使我可以修复索引膨胀,对生产使用的影响最小(因为总是有一个索引,读写不会被阻塞)。
有什么办法可以用于表格吗? 我可以CREATE TABLE newtable LIKE old_bloated_table INCLUDING ... ,这将重新创build表。 然后下降并重命名。 但数据可能不同步。 无论如何要确保表格之间的数据是相同的吗? (在索引的情况下,索引将始终与表同步)。