我在创建表时创建索引,然后将数据插入表中。
我认为当表中的数据已经被索引时,即使我删除或插入新数据也不需要运行 REINDEX。
这是正确的吗?或者每次,我都需要运行一个 REINDEX。
如果我需要将大量数据导入现有的索引表,运行 REINDEX 是否更好?
我应该什么时候运行 REINDEX?
请告诉我。谢谢!
最佳答案
您永远不需要运行 REINDEX
来维护数据完整性;所有数据修改都会更新索引。
在正常情况下,您永远不需要REINDEX
。特别是,批量插入永远不会比以前更多地碎片化索引。
如果您删除大量行,或者如果您运行 UPDATE
的速度比 autovacuum 跟上的速度快,索引就会膨胀。然后你可能需要 REINDEX
它们。
关于postgresql - 何时需要在 postgres 中运行 REINDEX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66469419/