做任务挣钱的网站聚,西宁专业网站制作公司,移动开发网,学生个人网站模板文章目录 openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表140.1 相关概念140.2 操作步骤140.3 维护建议 openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表
为了保证数据库的有效运行#xff0c;数据库必须在插入/删除操作后#xff0c;基于… 文章目录 openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表140.1 相关概念140.2 操作步骤140.3 维护建议 openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表
为了保证数据库的有效运行数据库必须在插入/删除操作后基于客户场景定期做VACUUM FULL和ANALYZE更新统计信息以便获得更优的性能。
140.1 相关概念
使用VACUUM、VACUUM FULL和ANALYZE命令定期对每个表进行维护主要有以下原因
VACUUM FULL可回收已更新或已删除的数据所占据的磁盘空间同时将小数据文件合并。VACUUM对每个表维护了一个可视化映射来跟踪包含对别的活动事务可见的数组的页。一个普通的索引扫描首先通过可视化映射来获取对应的数组来检查是否对当前事务可见。若无法获取再通过堆数组抓取的方式来检查。因此更新表的可视化映射可加速唯一索引扫描。VACUUM可避免执行的事务数超过数据库阈值时事务ID重叠造成的原有数据丢失。ANALYZE可收集与数据库中表内容相关的统计信息。统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数据生成最有效的执行计划。
140.2 操作步骤 使用VACUUM或VACUUM FULL命令进行磁盘空间回收。 VACUUM 对表执行VACUUM操作 openGauss# VACUUM customer;VACUUM可以与数据库操作命令并行运行。执行期间可正常使用的语句SELECT、INSERT、UPDATE和DELETE。不可正常使用的语句ALTER TABLE。 对表分区执行VACUUM操作 openGauss# VACUUM customer_par PARTITION ( P1 );VACUUMVACUUM FULL openGauss# VACUUM FULL customer;VACUUM需要向正在执行的表增加排他锁且需要停止其他所有数据库操作。 使用ANALYZE语句更新统计信息。 openGauss# ANALYZE customer;ANALYZE使用ANALYZE VERBOSE语句更新统计信息并输出表的相关信息。 openGauss# ANALYZE VERBOSE customer;ANALYZE也可以同时执行VACUUM ANALYZE命令进行查询优化。 openGauss# VACUUM ANALYZE customer;VACUUM说明 VACUUM和ANALYZE会导致I/O流量的大幅增加这可能会影响其他活动会话的性能。因此建议通过“vacuum_cost_delay”参数设置《数据库参考》中“GUC参数说明 资源消耗 基于开销的清理延迟”。 删除表。 openGauss# DROP TABLE customer;
openGauss# DROP TABLE customer_par;
openGauss# DROP TABLE part;当结果显示为如下信息则表示删除成功。 DROP TABLE140.3 维护建议
定期对部分大表做VACUUM FULL在性能下降后为全库做VACUUM FULL目前暂定每月做一次VACUUM FULL。定期对系统表做VACUUM FULL主要是PG_ATTRIBUTE。启用系统自动清理线程AUTOVACUUM自动执行VACUUM和ANALYZE回收被标识为删除状态的记录空间并更新表的统计数据。 点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富