PG_Vacuum_VacuumFull
在 PostgreSQL 中,VACUUM
和 VACUUM FULL
是两种不同的操作,它们用于维护和优化数据库表。
VACUUM:
VACUUM
是用于释放表中未使用的空间、删除已删除行的存储空间、更新统计信息的操作。它并不重建表,而是通过清理不再需要的数据来优化表的存储。VACUUM
操作是常规性的,用于维护数据库性能。VACUUM
不会移动表中的数据,而是标记被删除的行以便后续的清理。
1 | VACUUM table_name; |
VACUUM FULL:
VACUUM FULL
则是一种更为彻底的操作,它不仅释放未使用的空间,还重新组织表的物理存储以减小表的大小。具体地说,VACUUM FULL
创建一个新的表文件,将表的数据移动到新的文件中,然后删除旧文件。这可以显著减小表的大小,但是由于需要创建新文件和移动数据,因此VACUUM FULL
通常比普通的VACUUM
操作更耗时,而且可能需要较长的停机时间。