5、PostgreSQL 存储优化、事务管理与索引使用全解析

PostgreSQL 存储优化、事务管理与索引使用全解析

1. 存储优化与清理

在 PostgreSQL 中,在保证操作安全的前提下,减少 VACUUM 负载是个不错的做法。因为对大表执行 VACUUM 操作成本较高,所以关注相关设置很有必要。

  • VACUUM FULL 的使用 :除了普通的 VACUUM,还可以使用 VACUUM FULL。但需要注意的是,VACUUM FULL 会锁定表并重写整个关系。对于小表而言,这可能不是问题;但对于大表,表锁定可能会在短时间内造成严重影响,它会阻止后续写入操作,可能让访问数据库的人误以为数据库已崩溃,因此使用时需格外谨慎。若想避免使用 VACUUM FULL,可考虑使用 pg_squeeze(https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables/),它能在不阻塞写入的情况下重写表。
  • 观察 VACUUM 的工作过程 :为了更好地理解 VACUUM 的作用,下面通过一个示例来展示。首先创建一个带有自定义自动清理设置的小表,并插入 100000 行数据:
CREATE TABLE t_test (id int) WITH (autovacuum_enabled = off);
INSERT INTO t_test
SELECT * FROM generate_series(1, 100000
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值