• 2024-07-26KingbaseES 等待事件之DataFileRead
    等待事件含义IO:DataFileRead等待事件发生在会话连接等待后端进程从存储中读取所需页面,原因是该页面在共享内存中不可用或无法找到。所有查询和数据操作(DML)操作都访问缓冲池中的页面,语句包括SELECT、UPDATE和DELETE等。例如,UPDATE可以从表或索引中读取页面。如果请求或更新的页
  • 2024-07-09PostgreSQL的AutoVacuum原理及autovacuum不工作问题解析
    1、AutoVacuum概述PostgreSQL数据库是有数据清理的,有人工执行清理,也有自动清理,但是这2种的清理方式对性能是有不同的影响,特别是OLTP环境中,每次不管是人工清理还是自动清理deadtuple,都会对数据库的IO有明显的影响,基于PostgreSQL的原理每个表中的行会存在多个版本的数据,为了完成
  • 2024-05-07openGauss 分析表
    分析表执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。分析表ANALYZE支持的表类型有行/列存表。ANALYZE同时也支持对本地表的指定列进行信息统
  • 2024-03-30MogDB 2.1.1 初始化参数概要说明
    MogDB2.1.1初始化参数概要说明本文出处:https://www.modb.pro/db/394787MogDB数据库安装完成后,官方文档提供了刷新参数的脚本,推荐执行脚本来进行初始化参数设置。本文在官方提供脚本的基础上添加了简单说明,方便新学习的同学能大概了解参数作用。CentOS7.7下标准安装MogDB
  • 2024-03-02【PG】autovacuum vs vacuum
    selectrelname,relpages,reltuplesfrompg_classwhererelname='t1';--清除【每个块】的deadtuples,且不会将块的【位置】进行重组,不会更新表page的信息vacuumt1;analyzet1;explain(analyze,buffers)selectcount(1)fromt1;--vacuumfull清除【每个块】的dead
  • 2024-01-2219.PG的autovacuum
    autovacuum时启动postgresql时自动启动的后台实用程序进程之一参数:autovacuum =on(默认开启)  track_counts=on(默认开启)作用:1)需要vacumm来移除死元组2)防止死元组膨胀 3)更新表的统计信息进行分析,以便提供优化器使用4)autovacuumlauncher使用stats
  • 2024-01-2118.PG的autovacuum
    通常块中被删除的行是逻辑上删除,物理上还保留在块中,如果长时间不清理,会造成垃圾空间膨胀,而清理的工作一般是由AutoVacuum后台进程来完成vacuum处理对数据库中的指定表或所有表执行一下任务:移除死元组:   1)删除死元组并对每个页面的活元组进行碎片管理. 2)删除
  • 2024-01-15当 autovacuum 不工作时
    快速回顾一下,autovacuum后台进程清理死行,例如旧的已删除行版本。您也可以通过运行手动执行清理VACUUM,但autovacuum会根据表中死行的数量在适当的时候自动执行清理,不要太频繁但足够频繁以控制“垃圾”的数量。一般来说,autovacuum不能运行得太频繁,只有在表中累积了一定数量的死行后
  • 2024-01-15VACUUM和ANALYZE最佳实践技巧
    概要VACUUM和ANALYZE是PostgreSQL数据库两个最重要的维护操作。VACUUM用于回收表中“死元组”占用的空间。当删除或更新记录(先删除后插入)时,会生成死元组。PostgreSQL不会从表中物理删除旧行,而是在其上放置一个“标记”,以便查询不会返回该行。当vacuum进程运行时,这些死元
  • 2023-12-25openGauss学习笔记-172 openGauss 数据库运维-备份与恢复-导入数据-分析表172.1 分析表172.2 表自动分析
    openGauss学习笔记-172openGauss数据库运维-备份与恢复-导入数据-分析表执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。172.1分析表ANALYZE
  • 2023-09-20autovacuum进程
    autovacuum是postgresql里非常重要的一个服务端进程,能够自动地执行,在一定条件下自动地对deadtuples进行清理并对表进行分析。目录1.1什么是autovacuum?1.2为什么需要autovacuum1.3记录autovacuum1.4什么时候做autovacuum1.5这是不是一个问题1.6如何确定需要调整其auto
  • 2023-09-18KingbaseESV8R6识别IO使用率过高
    前言数据库正常运行离不开I/O的使用,在操作系统上,I/O又离不开存储的性能及使用方式,我们可以在存储层利用raid条带化技术使IOPS达到最佳性能。本篇文章有助于确认数据库I/O使用率过高的原因,以及解决方法。确定I/O使用率过高的原因1.需要数据库内置的sys_stat_statements扩展并
  • 2023-08-11PostgreSQL autovacuum 5 怎么监控(autovacuum 扫描表工作的百分比)
    PostgreSQL最大的问题就是vacuum,只要PG的实现多版本和UNDO的方式不改变,那么这个话题就会一直继续,到永远。前面四期讲了autovacuum的触发条件,源代码,怎么调整参数,优化,今天最后一章,的说说怎么进行监控,并且评定你的autovacuum的工作是合格的。下面的内容主要是基于几点来围绕的监
  • 2023-06-22PostgreSQL autovacuum 5 怎么监控(autovacuum 扫描表工作的百分比)
    PostgreSQL最大的问题就是vacuum,只要PG的实现多版本和UNDO的方式不改变,那么这个话题就会一直继续,到永远。前面四期讲了autovacuum的触发条件,源代码,怎么调整参数,优化,今天最后一章,的说说怎么进行监控,并且评定你的autovacuum的工作是合格的。下面的内容主要是基于几点来围绕的 监
  • 2023-06-22POSTGRESQL 提高POSTGRESQL性能的一些习惯 (3)
    随着问问题的同学越来越多,公众号内部私信回答问题已经很困难了,所以建立了一个群,关于各种数据库的问题都可以,目前主要是POSTGRESQL,MYSQL,MONGODB,POLARDB,REDIS,SQLSERVER等,期待你的加入这个系列写到第三期了,实际上POSTGRESQL的优化和一个核心之一,这就是VACUUM,一个弄不清vac
  • 2023-06-22POSTGRESQL vacuum_freeze系列中 三个参数与 vacuum的关系
    开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql ,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。最近在整理VACUUM相关知识的时候,发现一个问题对于vacuum_freeze的3个参数的概念掌握的不牢固,那么只能进行恶补了。本次的三个
  • 2023-06-12PostgreSQL技术大讲堂 - 第18讲:Tuning Autovacuum
     PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUGPG技术大讲堂。Part18:Vacuum空间管理工具内容1:什么是autovacuum?内容2:为什
  • 2023-04-08pg-AutoVacuum(1)
    根据之前月报的分析,PostgreSQL中的MVCC机制(详见月报)同时存储新旧版本的元组,对于经常更新的表来说,会造成表膨胀的情况。为了解决这个问题,PostgreSQL引入了VACUUM和ANALYZE命令,并且引入了AutoVacuum自动清理。在PostgreSQL中,AutoVacuum自动清理操作包括:删除或重用无效元组的磁盘
  • 2023-04-08pg- AutoVacuum(2)
    根据之前月报的分析,PostgreSQL数据库为了定时清理因为MVCC引入的垃圾数据,实现了自动清理机制。其中涉及到了两种辅助进程:autovacuumlauncherautovacuumworker其中,autovacuumlauncher主要负责调度autovacuumworker,autovacuumworker进程进行具体的自动清理工作。本文主
  • 2023-02-28postgresql VACUUM 不会从表中删除死行的三个原因
    一、为什么是VACUUM?每当更新或删除PostgreSQL表中的行时,都会留下死元组。VACUUM摆脱了它们,以便空间可以重复使用。如果一个表没有被清理,它就会变得臃肿,这会浪费磁盘空间并
  • 2022-12-13KingbaseES垃圾回收参数优化之maintenance_work_mem
    maintenance_work_mem参数说明与vacuum过程maintenance_work_mem,autovacuum_work_mem。如果没有设置autovacuum_work_mem,默认值是-1,则使用maintenance_work_mem的设
  • 2022-12-07lightdb vacuum用法--功能与参数
    lightdb没有像Oracle那样的undo来存放旧版本;而是将旧版本直接存放于relation文件中。那么带来的问题就是deadtuple过多,导致relation文件不断增大而带来空间膨胀问题。