关于PostgreSQL的VACUUM

吸尘器的意思是

公式文件链接:https://www.postgresql.jp/document/9.6/html/sql-vacuum.html
来自官方文件

VACUUM は、不要タプルが使用する領域を回収します。PostgreSQLの通常動作では、削除されたタプルや更新によって不要となったタプルは、テーブルから物理的には削除されません。 これらのタプルはVACUUMが完了するまで存在し続けます。 そのため、特に更新頻度が多いテーブルでは、VACUUMを定期的に実行する必要があります。

在PostgreSQL中,即使删除数据,实际上只是给数据添加了一个删除标记,而并没有完全删除,只是变得不可见。
通过执行VACUUM操作,可以彻底删除带有删除标记的数据,从而使空闲空间可以重新利用。
换句话说,对于更新频繁的表格执行此操作效果最佳。

元组是什么

在表格中,使用INSERT、UPDATE和DELETE操作来存储的行被称为元组。

VACUUM, VACUUM FULL, VACUUM ANALYZE: 真空,完整清除,分析清除

在中国人的母语中,以下是 Paraphrase 的选项(仅需一种):
在清洁方面,有三种选项:VACUUM,VACUUM FULL 和 VACUUM ANALYZE。

通常的VACUUM操作是由用户具备清理数据库内所有表格的权限。
该操作速度快,但回收的空间很少返回给操作系统。

只有在需要从表中回收大量空间的情况下才应使用VACUUM FULL,因为它需要对表进行独占锁定,处理时间较长,但可以实现更完全的清理。

在执行VACUUM后,执行ANALYZE命令来更新数据库中表的统计信息。

吸尘器

VACUUM テーブル名;

-- VERBOSEをつけることで、実行時間等の詳細情報を表示することができる
VACUUM VERBOSE テーブル名;

完整清理

VACUUM FULL テーブル名;

数据库空间分析

VACUUM ANALYZE テーブル名;

听说也有自动清洁功能的机器。

据说PostgreSQL有一个自动VACUUM的功能。具体的内容请看PostGreSQL的官方网站,似乎还能进行各种调整。虽然可以省略该功能,但推荐强烈建议使用。

请参考以下文章。

    • https://postgresweb.com/post-5194

 

    https://qiita.com/neustrashimy/items/b3d64b749582b32ad0ff
广告
将在 10 秒后关闭
bannerAds