云数据库 RDS-AutoVacuum介绍和调优:事务ID回卷
事务ID回卷
PostgreSQL会为事务分配一个事务ID,这个事务ID并不是无限大的,PostgreSQL使用一个32位的整数作为事务ID的值,其使用1到2^31轮转的方式来处理无限多的事务,也就是说,当事务ID到达2^31(2147483648)的时候,它将为接下来的事务继续分配1到2^31的事务ID,这种轮转事务ID的方法就是事务ID回卷。
当前的事务ID只能看到其之前的事务ID提交信息,如果当前一个事务ID是100, 当该事务ID达到最大值2^31之后会进行轮转,这样从101到2^31对于当该事务ID来说都是之后的事务ID,此时该事务ID不能看到100以后的所有事务,这样就会导致数据库数据丢失,会造成数据库的不可信。
vacuum freeze可以用来防止事务ID回卷,其意味着覆盖事务ID到frozen事务ID,上面的例子,当前的事务ID100是经历过回卷的,但是使用vacuum freeze将表中对应元组的xmax的值设置为2,那这样所有的事务都能看到该元组。
vacuum freeze同时也会清理死元组。
- GaussDB数据库参数调优_GaussDB版本_高斯数据库参数调优
- GaussDB华为部署_高斯数据库_高斯数据库华为部署_华为云
- 文档数据库服务DDS性能调优_MongoDB性能调优_华为云
- GaussDB性能怎么调_GaussDB性能调优_高斯数据库性能怎么调-华为云
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB下载免费版_GaussDB怎么样_高斯数据库下载
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- GaussDB内核_GaussDB数据库内核_高斯数据库内核_华为云
- GaussDB递归_层次递归查询函数_高斯数据库递归-华为云
- GaussDB计算性能_gaussdb递归_高斯数据库计算性能_华为云