1

我注意到,在我的 PostgreSQL 数据库中添加或删除索引时,效果(分别提高和降低性能)在 4-5 分钟后生效。同时我没有做任何服务器重启。

知道为什么会这样吗?

4

1 回答 1

1

这很可能是因为自动清理过程启动并更新了这些索引的统计信息(作为“副作用”)。

只有当统计数据是最新的,规划者才能充分利用它们。

尝试analyze verbose your_table在下次添加或删除索引时运行 a your_table,看看是否会立即“激活”它。如果是这样,那么是更新的统计数据导致了这种“延迟”

于 2012-05-09T14:02:28.953 回答