Greenplum 数据库最佳实践(11)
注意:大型 UPDATE 和 DELETE 操作之后务必运行 VACUUM,避免运行 VACUUM FULL。
如果出现FSM溢出,需要回收空间,则建议使用CREATE TABLE...AS SELECT命令拷贝数据到新表,删除原来的表,然后重命名新表为原来的名字。
频繁更新的表会有少量过期行和空闲空间,空闲空间可被新加入的数据重用。但是当表变得非常大,而可见数据只占整体空间的一小部分,其余空间被过期行占用时,称之为臃肿(bloated)。臃肿表占用更多空间,需要更多I/O,因而会降低查询效率。 臃肿会影响堆表、系统表和索引。
周期性运行 VACUUM 可以避免表增长的过大。如果表变得非常臃肿,必须使用 VACUUM FULL 语句(或者其方法)精简该表。如果大表变得非常臃肿,则建议使用消除数据臃肿(后续章节)中介绍的方法消除臃肿的表。
警告:切勿运行 VACUUM FULL
运行VACUUM时,堆表的过期行被加入到共享的空闲空间映射表中。FSM必须足够容纳过期行。如果不够大,则溢出FSM的空间不能被VACUUM回收。必须使用VACUUM FULL 或者其他方法回收溢出空间。
定期性运行 VACUUM 可以避免FSM溢出。表越臃肿,FSM就需要记录越多的行。对于非常大的具有很多对象的数据库,需要增大 FSM 以避免溢出。
配置参数 max_fsm_pages 设置在共享空闲空间映射表中被FSM跟踪的磁盘页最大数目。一页占用6个字节共享空间。默认值是 200,000。
配置参数 max_fsm_relations 设置在共享空间映射表中被FSM跟踪的表的最大数目。该值需要大于数据库中堆表、索引和系统表的总数。每个段数据库的每个表占用60个字节的共享内存。默认值是1000。
更详细的信息,请参考《Greenplum数据库参考指南》。 检测臃肿
ANALYZE收集的统计信息可用于计算存储一个表所期望的磁盘页数。期望的页数和实际页数之间的差别是膨胀程度的一个度量。gp_toolkit模式的gp_bloat_diag视图通过比较期望页数和实际页数的比例识别膨胀的表。使用这个视图前,确保数据库的统计信息是最新的,然后运行下面的SQL:
gpadmin=# SELECT * FROM gp_toolkit.gp_bloat_diag;bdirelid | bdinspname | bdirelname | bdirelpages | bdiexppages |
bdidiag---------+------------+------------+-------------+-------------+------------ 21488 | public | t1 | 97 | 1 | significant amount of bloat suspected(1 row)
结果中包括中度或者严重膨胀的表。实际页数与期望页数之比位于4和10之间是中度膨胀,大于10为严重膨胀。
视图gp_toolkit.gp_bloat_expected_pages列出每个数据库对象实际使用的页数和期望使用的磁盘页数。
gpadmin=# SELECT * FROM gp_toolkit.gp_bloat_expected_pages LIMIT 5;btdrelid | btdrelpages | btdexppages---------+-------------+------------- 10789 | 1 | 1 10794 | 1 | 1 10799 | 1 | 1 5004 | 1 | 1 7175 | 1 | 1(5 rows)
btdrelid是表的对象ID。btdrelpages字段表示表适用的实际页数;bdtexppages字段表示期望的页数。注意,这些数据基于统计信息,确保表发生变化后运行ANALYZE。 消除数据臃肿表
VACUUM 命令将过期行加入到空闲空间映射表中以便以后重用。如果对频繁更新的表定期运行VACUUM,过期行占用的空间可以被及时的回收并重用,避免表变得非常大。同样重要的是在 FSM 溢出前运行 VACUUM。对更新异常频繁的表,建议至少每天运行一次 VACUUM 以防止表变得臃肿。
…… 此处隐藏:28字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




