GreenPlum--回收空间和分析

回收空间和分析

· 事务ID管理
数据库的每个事务对应着一个ID,当ID个数超过数据库限定的阈值时,就会重复用前面的ID,造成混乱。

在每个数据库每2百万个事务的时候,对每张表执行VACUUM是很有必要的。

· 系统目录维护

大量的CREATE和DROP命令会导致系统表的迅速膨胀,以至于影响系统性能。

· 由于MVCC事务并发模型的原因,已经删除或者更新的记录仍然占据着磁盘空间。
· 如果数据库有大量的更新和删除操作,将会产生大量的过期记录。
· 定期的运行VACUUM命令可以删除过期记录,回收空间。例如:VACUUM tb01;
· 配置子空间映射

过期的记录会被存放在叫做自由空间映射的地方;
超出自由空间映射空间的过期记录所占用的空间无法回收;
VACUUM FULL命令将回收所有过期记录,但是耗时长;
使用CREATE TABLE AS来处理自由空间溢出的情况:例如tb01自由空间溢出,create table tb02 as select from tb01 ,drop table tb01;
自由映射空间的设置参数:一般不做特殊调整 默认的够用了
max_fsm_pages
max_fsm_relations

· 为优化查询进行回收和分析

GP使用基于成本的查询优化器
ANALYZE命令手机查询优化器需要的统计信息
VACUUM ANALUZE可以一起执行:VACUUM ANALYZE tb_cp_02;

注:一般是在ETL过程时候进行VACUUM操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章