postgres; 索引会自动重新索引新数据吗?

Tom*_*mmy 7 postgresql performance postgresql-performance

如果我在 Postgres 表中有一堆行,然后创建一个索引,如果在创建后插入新数据行,索引是否会自动更新?

或者说,REINDEX 是仅在一些罕见的情况下需要,还是在添加新数据时才需要?

Col*_*art 6

新数据会自动编入索引。但是请注意,索引的存在会因此减慢inserts 和updates (delete当然还有s )。对于事务量非常大的表,在添加索引时必须非常小心。对于大多数在表格系统中,这不是一个问题。

reindex一般情况下很少需要。在这些罕见的情况中,最常见的可能是由大量突变引起的“膨胀”——通常是当这些突变导致磁盘上的数据从“中间”删除并添加到“末尾”时。