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

买高端品牌网站阳江网络公司

买高端品牌网站,阳江网络公司,php无法调用wordpress,详情页设计多少钱目录 1、背景2、undo日志页结构【1】FIL_PAGE_UNDO_LOG页【2】undo页面组成的链表【3】Undo Log Segment【4】Undo Log Header【5】重用undo页面 3、总结 1、背景 之前讲过undo日志类型,本篇文章再来具体讲解一下undo日志页结构。 2、undo日志页结构 【1】FIL_PA…

目录

  • 1、背景
  • 2、undo日志页结构
    • 【1】FIL_PAGE_UNDO_LOG页
    • 【2】undo页面组成的链表
    • 【3】Undo Log Segment
    • 【4】Undo Log Header
    • 【5】重用undo页面
  • 3、总结

1、背景

之前讲过undo日志类型,本篇文章再来具体讲解一下undo日志页结构。

2、undo日志页结构

【1】FIL_PAGE_UNDO_LOG页

InnoDB中最基本的存储单位是页,undo日志也是存储在页上的,页的类型为FIL_PAGE_UNDO_LOG,其页面结构如下:

在这里插入图片描述
其中Undo Page Header是undo日志所特有的,其结构如下:

在这里插入图片描述
字段含义为:

字段字节大小含义
TRX_UNDO_PAGE_TYPE2本页存储undo日志类型,分为两大类:TRX_UNDO_INSET和TRX_UNDO_UPDATE,一个页面只能存储一种类型
TRX_UNDO_PAGE_START2本页中第一条undo日志地址
TRX_UNDO_PAGE_FREE2本页可以写入undo日志的空闲地址
TRX_UNDO_PAGE_NODE12链表节点

【2】undo页面组成的链表

通过Undo Page Header的TRX_UNDO_PAGE_NODE属性能让undo页组成一个链表,链表中的第一个页被称为first undo page,第二个页被称为normal undo page,上面讲过有两大类undo日志类型,一个页只能存储相同的页类型,所以一个事务的所有插入操作可以组成一个insert undo链表,所有删除和更新操作可以组成一个update undo链表,临时表也需要记录undo日志,所以一个事务可能产生四个undo页组成的链表,这些链表是用到的时候再分配。

【3】Undo Log Segment

每个undo日志页组成的链表都对应一个,叫Undo Log Segment,这个段存储在链表的第一个页也就是first undo page页中,其结构如下:

在这里插入图片描述
其中Undo Log Segment header用来存储段结构信息,其结构如下:

在这里插入图片描述
字段含义如下:

字段字节大小含义
TRX_UNDO_STATE2链表对应的段状态:
TRX_UNDO_ACTIVE:活跃状态,一个活跃的事务正在往这个段里面写入undo日志
TRX_UNDO_CACHED:被缓存的状态,该undo页面对应的来吧等待被其它实物重用
TRx_UNOD_To_FREE:对insert undo链表来说,在它对应的事务提交之后,该链表不能被重用就处于这种状态
TRX_UNDO_TO_PURGE:对update undo链表来说,在它对应的事务提交之后,该链表不能被重用就处于这种状态
TRX_UNDO_PREPARED:包含处于PREPARE阶段的事务产生的undo日志
TRX_UNDO_LAST_LOG2本undo页面链表中最后一个Undo Log header的位置
TRX_UNDO_FSEG_HEADER10本undo页链表对应的段信息
TRX_UNDO_PAGE_LIST16undo页链表基节点,这个基节点就存在于first undo page页中

【4】Undo Log Header

同一个事务向同一个undo页面链表中写入的undo日志算一个组,组信息存储在链表第一个页的Undo Log Header属性中,first undo page页可以这样表示:

在这里插入图片描述
Undo Log Header结构如下:

在这里插入图片描述
字段含义如下:

字段字节大小含义
TRX_UNDO_TRX_ID8生成本组undo日志的事务id
TRX_UNDO_TRX_NO8事务提交后生成的序号,用来标记事务的提交顺序
TRX_UNDO_DEL_MARKS2标记本组undo日志是否包含由于Delete mark操作产生的undo日志
TRX_UNDO_LOG_START2本组undo日志第一条undo日志在页面中的地址
TRX_UNDO_XID_EXISTS1本组undo日志是否包含XID信息
TRX_UNDO_DICT_TRANS1标记本组undo日志是不是由DDL语句产生
TRX_UNDO_TABLE_ID8DDL语句操作的表table_id
TRX_UNDO_NEXT_LOG2下一组undo日志在页面中开始的偏移量
TRX_UNDO_PREV_LOG2上一组undo日志在页面中开始的偏移量
TRX_UNDO_HISTORY_NODE12History链表的节点

【5】重用undo页面

为了节省空间就有了重用undo页面,重用undo页面需要满足以下条件:

1、undo页面链表只包含一个undo页面
2、该undo页面链表使用空间超过该页面空间的3/4
3、insert undo链表是覆盖写入
4、update undo链表是追加写入

3、总结

通过undo日志能保证事务回滚,也就是原子性,上面讲过insert操作对应的undo日志可以直接删除,update和delete操作的不能,就是为了MVCC,多版本并发控制,后面再来讲解MVCC。

http://www.dtcms.com/a/433754.html

相关文章:

  • 可视化网站模板编辑软件网站开发 源代码
  • 小贷网站需要多少钱可以做有哪些做应援的网站
  • 现在给别人做网站wordpress5.0新编辑器
  • 网站换空间步骤美食网站开发环境
  • 媒体查询做响应式网站昆明免费网站建设
  • 郴州网站建设有限公司电脑做视频的网站比较好
  • 网络营销型网站建设的内容网站建设招标流程
  • 国外网站加速百度搜索引擎平台
  • 女装网站建设项目可行性分析表手机网站做成app
  • 网站搭建后提示建设中网站开发项目的前端后端数据库
  • 如何分析他人网站流量便宜的网站制作
  • 深圳网站建设服务便宜网站一般做多大的
  • 一站式电商网站建设企业文化建设内容主要包括
  • 建设协会官方网站广州最近传染病情况
  • 韩国优秀网站欣赏黄骅港鑫海化工招聘
  • 江都区城乡建设局网站wordpress 标题相同
  • 中国建设报官方网站wordpress公众号导航主题
  • 金坛城乡建设管理网站做淘宝客可以有高佣金的网站
  • 网站源码什么意思html5小游戏源码
  • 网站腾讯备案吗企业网站建设流程第一步是什么
  • 做外贸有必要做个网站吗dw网页设计实验报告
  • ps怎么做网站的首页温州城乡建设学校
  • 深圳网站设计必选成都柚米科技09做微信商城小程序开发一般需要多少钱
  • 厦门翔安建设局网站行业网站建设方式有哪些
  • 快速学制作网站云安区学校网站建设统计表
  • 肇庆网站制作案例制作会员手机网站
  • 如何在对方网站上做外链西安设计工作室推荐
  • 北京建网站网站怎么做rss
  • 网站建设提供排名福田蒙派克油耗是多少
  • 室内设计公司排名全球网站seo优化总结