PostgreSQL
我是(版本 9.2)数据库开发的新手。在查看我的一张桌子时,看到了一个名为autovaccum
.
我的许多表包含 20000 多行。出于测试目的,我更改了其中一个表,如下所示
ALTER TABLE theTable SET (
autovacuum_enabled = true
);
- 所以,我想知道自动清理桌子的好处/优点/缺点(如果有的话) ?
PostgreSQL
我是(版本 9.2)数据库开发的新手。在查看我的一张桌子时,看到了一个名为autovaccum
.
我的许多表包含 20000 多行。出于测试目的,我更改了其中一个表,如下所示
ALTER TABLE theTable SET (
autovacuum_enabled = true
);
Autovacuum在当前版本的Postgres中默认启用(并且已经有一段时间了)。出于性能和其他原因启用它通常是一件好事。
在autovacuuming之前,您需要自己显式地清理表(通过执行psql命令来清理它们的 cronjobs或类似命令)以消除死元组等。Postgres现在已经通过autovacuum为您管理了一段时间。
在某些情况下,对于具有巨大流失(即非常高的插入和删除率)的表,我发现仍然有必要通过cron显式清理以保持死元组计数低和性能高,因为autovacuum没有启动速度不够快,但这是一个小众案例。
更多信息:http ://www.postgresql.org/docs/current/static/runtime-config-autovacuum.html