postgresql – 数据库表大小没有按比例减少
发布时间:2020-12-13 16:18:51 所属栏目:百科 来源:网络整理
导读:我正在使用PostgreSQL 8.4.13数据库. 最近我在一张桌子里有大约8650万条记录.我删除了几乎所有这些 – 只剩下5000条记录.我跑了 reindex 和 vacuum analyze 删除行后.但我仍然看到该表占用了大量的磁盘空间: jbossql= SELECT pg_size_pretty(pg_total_relat
我正在使用PostgreSQL 8.4.13数据库.
最近我在一张桌子里有大约8650万条记录.我删除了几乎所有这些 – 只剩下5000条记录.我跑了 reindex 和 vacuum analyze 删除行后.但我仍然看到该表占用了大量的磁盘空间: jbossql=> SELECT pg_size_pretty(pg_total_relation_size('my_table')); pg_size_pretty ---------------- 7673 MB 此外,剩余行的索引值仍然很高 – 就像在百万范围内一样.我想在吸尘和重新索引之后,剩余行的索引将从1开始. 我阅读了文档,很明显我对重新索引的理解是有偏差的. 但是,我的目的是减少删除操作后的表大小并降低索引值,以便表中的读取操作(SELECT)不会花费那么长时间 – 目前我需要大约40秒来从中检索一条记录我的桌子. 更新 谢谢欧文.我已经更正了pg版本号. vacuum full 为我工作.我在这里有一个跟进问题:
要实际将磁盘空间返回到OS,请运行
VACUUM FULL .
关于related recent answer on dba.SE的更多细节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |