当前位置: 首页 > news >正文

岳阳网站搭建软件源码购买一般在哪个网站

岳阳网站搭建,软件源码购买一般在哪个网站,全景精灵网站建设,泰安网网站建设文章目录 0.简介1.概念及使用方式2.工作原理2.1 主要功能2.2 清理流程2.3 防止事务id环绕说明 3.使用建议 0.简介 在之前介绍MVCC文章中介绍过常见的MVCC实现的两种方式,一种是将旧数据放到回滚段,一种是直接生成一条新数据(对于删除是不删除…

文章目录

    • 0.简介
    • 1.概念及使用方式
    • 2.工作原理
      • 2.1 主要功能
      • 2.2 清理流程
      • 2.3 防止事务id环绕说明
    • 3.使用建议

0.简介

在之前介绍MVCC文章中介绍过常见的MVCC实现的两种方式,一种是将旧数据放到回滚段,一种是直接生成一条新数据(对于删除是不删除),PG采用的是第二种,虽然实现上较为清晰简单,但面临着数据膨胀的问题。本文将介绍其清理命令vacuum,主要包含概念和使用方式,以及实现原理。

1.概念及使用方式

vacuum是一个SQL命令,可以进行垃圾回收并选择性的分析数据库,其语法如下,主要看full和analyze,full的作用下面会详细介绍,analyze的作用就是同时收集表内容的统计信息,结果放在pg_statistic系统目录中,然后查询计划就能使用这个信息去制定高效的计划。

VACUUM [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_and_columns [, ...] ]where option can be one of:FULL [ boolean ]FREEZE [ boolean ]VERBOSE [ boolean ]ANALYZE [ boolean ]DISABLE_PAGE_SKIPPING [ boolean ]SKIP_LOCKED [ boolean ]INDEX_CLEANUP { AUTO | ON | OFF }PROCESS_MAIN [ boolean ]PROCESS_TOAST [ boolean ]TRUNCATE [ boolean ]PARALLEL integerSKIP_DATABASE_STATS [ boolean ]ONLY_DATABASE_STATS [ boolean ]BUFFER_USAGE_LIMIT sizeand table_and_columns is:table_name [ ( column_name [, ...] ) ]

2.工作原理

2.1 主要功能

1)清理失效元组。
2)生成分析数据
3)更新VM(visibility map)。
4) 防止事务id环绕。

2.2 清理流程

其流程如下:
在这里插入图片描述

  1. 清理失效元组第一步是要识别出那些是失效元组,在之前的MVCC中介绍过,其有xmin和xmax,xmax表示被那个事务删除,如果已经提交了且没有小于xmax的事务继续执行,那么就说明这个元组失效,知道怎么查找失效元组后我们看清理步骤。
    找到dead tuples后会构建该表的dead tuples的链表,该链表存储在缓存中,然后会去移除dead tuples指向的index。这步也就是先清理index。
  2. 移除完index后就需要开始处理其本身,在这不使用vacuum和vacuum full存在区别,vacuum只是去把dead tuples的部分标记为可重用空间然后整理其剩余元组将其重新排列,也就是表的实际空间并没有减少,只是可以重用了;而vacuum full是将目标表有效tuples拷贝到新表中然后删除目标表,然后重建索引。
  3. 删除完dead tuples后就需要更新VM和FSM,这两个的作用在前面文章PG逻辑存储层级和物理存储结构中有描述。
  4. 最后就是可以更新统计信息及相关系统表。

2.3 防止事务id环绕说明

PG的事务id是32位的,最多就是2的32次方,也就是4294967296,所以其采用的是循环利用的方式,同时MVCC是比较依赖事务ID,如果插入的XID大于当前事务XID的行版本,那么就是将来的事务,对当前事务不可见。有以上两个基础,不难想象如果运行足够长的时间,xid计数器会变为0,可能会导致所有以前的数据都被认为是未来的,也就是所有数据都看不到(这只是事务id回卷的一种场景),PG解决这种场景的方式是通过vacuum,识别存在很长时间的数据将其记录为FREEZE,这些数据不遵循XID比较原则,对所有事务可见。

在这里插入图片描述

3.使用建议

可以看见Vacuum比较于Vacuum full有着更快的执行速度,但其不能减小膨胀后的空间,运行时FREEZE很老的记录。而Vacuum full能回收更多空间,但其运行缓慢,运行后所有记录都被FREEZE,其需要全程加独占锁,不推荐生产环境使用。
处理上述两种主动清理,PG还支持字段清理,即Autovacuum,其可以根据需要设置使用在晚上(使用较少时)执行清理,尽可能减少影响。

http://www.yayakq.cn/news/821103/

相关文章:

  • 域名怎么进入网站平面设计学费多少钱
  • 微信公众号可以做微网站wordpress标签链接
  • 和孕妇做网站芷江建设工程招投标网站
  • 太仓网站制作哪家好汕头建站价格
  • 俄文网站制作wordpress文章自动发布功能
  • 英文网站怎么切换中文微网站是自己做可以不
  • 网站建设 需要准备材料旅游电子商务网站建设费用
  • 怎么编写一个网站湖北省建设厅官方网站证书查询
  • 遵义网站建设托管公司wordpress 开源协议
  • 网站建设好后 如何验收智达世通建设集团有限公司网站
  • 内蒙古城乡住房建设厅网站wordpress yeti
  • 没有网站可以做域名解析吗新余网站设计
  • 大连市营商环境建设局门户网站银座网上购物商城
  • 福州企业建站系统模板做视频图片博客网站有哪些
  • 网站推广多少钱怎么查看网站dns
  • 手机网站怎么备案响应式自适应网站模板
  • 做淘宝客网站性质php网站源代码
  • 高端网站开发案例展示常州天宁区做网站公司
  • 公司网站忘了怎么做网络营销推广岗位有哪些
  • 新乡平原新区建设局网站网站建设的误区
  • 网站建设客户说没用北京网站设计策划公司
  • 网站优化如何做pc指数设计师用的素材网站有哪些
  • 骨科医院网站优化服务商jsp怎么做购物网站
  • 国内家居行业网站开发尚海整装总店地址
  • 律师做网站有用行业门户网站有哪些
  • pc网站同步手机网站壹像素网站
  • 做网站免费建设网站公司那家好
  • 做分析图用的地图网站公司官网制作百度
  • 上海网站建设领导品牌神宜建设公司官网
  • 网站开发外键手机端网页设计软件