postgresql - 何时需要在 postgres 中运行 REINDEX

标签 postgresql indexing


我在创建表时创建索引,然后将数据插入表中。
我认为当表中的数据已经被索引时,即使我删除或插入新数据也不需要运行 REINDEX。
这是正确的吗?或者每次,我都需要运行一个 REINDEX。

如果我需要将大量数据导入现有的索引表,运行 REINDEX 是否更好?
我应该什么时候运行 REINDEX?

请告诉我。谢谢!

最佳答案

您永远不需要运行 REINDEX 来维护数据完整性;所有数据修改都会更新索引。

在正常情况下,您永远不需要REINDEX。特别是,批量插入永远不会比以前更多地碎片化索引。

如果您删除大量行,或者如果您运行 UPDATE 的速度比 autovacuum 跟上的速度快,索引就会膨胀。然后你可能需要 REINDEX 它们。

关于postgresql - 何时需要在 postgres 中运行 REINDEX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66469419/

相关文章:

postgresql - postgreSQL 字符限制

postgresql - docker 中的 Keycloak 服务器无法以独立模式启动?

php - 查询结果在html中的布局

mongodb - 带有 $in 或 $or 的索引

mysql - 为什么 MySql 不使用我们表上的索引?

sql - Postgresql 自定义排序

如果行值与以前的值发生变化,则 SQL 查询打印所有行

sql - 复制列内容 PostgreSQL 7.4

python-3.x - 用 2d 数组索引 3d numpy 数组

MySQL 按优化排序