`
AllenHU0320
  • 浏览: 86842 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

InnoDB数据多版本机制

 
阅读更多

InnoDB引擎内部在保存数据到数据库时,每一行都有3个自动生成的内部列:

DB_TRX_IDG:占用6B,用来标记事务的标示符,记录下最后一个事务的操作类型(更新或修改),删除操作会被当成update处理,只是在其中设置特殊的位置指出实际操作为delete

DB_ROLL_PRT:占用TB,被称为回滚标记,用于指定UNDO日志记录写到回滚段中的位置。如果记录被更新,那么UNDO日志会包含用于构造记录更新前状态的所有必要信息

DB_ROW_ID:占用6B,就是该记录行的行ID

回滚段中的UNDO日志分为insert UNDO日志和update UNDO日志两种:

inset UNDO日志仅在事务回滚时需要,事务提交后即可被废除

update UNDO日志则用于构造一致性读

 

只有当InnoDB废弃了update UNDO日志后,才会从物理上移除关联的列和索引记录,这种移除操作被称为purge,执行速度很快

 

 

 

 

分享到:
评论

相关推荐

    InnoDB事务、锁、多版本分析

    综上所述,InnoDB的事务、锁和多版本控制机制共同保证了数据的正确性和系统的高并发性能。了解并熟练掌握这些机制,对于优化MySQL数据库的性能和稳定性至关重要。无论是开发人员还是数据库管理员,都应该深入理解...

    Mysql InnoDB多版本可见性分析

    总之,InnoDB的多版本可见性分析是一种复杂的机制,它在提供较高并发性能的同时,还保证了数据的一致性和隔离性。对于理解Mysql数据库的运行机制和性能优化,深入学习InnoDB的多版本可见性分析是必不可少的。

    实战mysql innodb 删除数据后释放磁盘

    Innodb 删除数据后释放磁盘空间 InnoDB 是 MySQL 中的一种存储引擎,它具有高性能和...此外,InnoDB 还有其他一些特点,例如支持事务、锁机制、外键约束等。这使得 InnoDB 成为 MySQL 中的一种可靠和高效的存储引擎。

    InnoDB 事务/锁/多版本分析

    InnoDB的事务/锁/多版本分析涉及InnoDB的事务机制、锁机制以及如何通过多版本并发控制(MVCC)实现非锁定读取。 ### InnoDB事务 InnoDB事务具备ACID特性(原子性、一致性、隔离性、持久性),能够支持复杂的数据操作...

    MySQL 核心引擎InnoDB-事务锁多版本分析

    InnoDB的多版本并发控制机制允许同时存在多个版本的数据。ReadView是实现MVCC的关键数据结构,它根据事务的可见性来隔离不同版本的数据。聚簇索引和二级索引在InnoDB中起到了不同的作用,前者是表中记录的物理顺序,...

    InnoDB怎么应对高并发

    本文将深入探讨InnoDB如何应对高并发场景,并解析其背后的并发控制机制和相关技术,如锁、数据多版本、redo日志、undo日志以及回滚段。 首先,我们理解并发控制的重要性。在多用户环境中,多个任务可能会同时访问...

    MySQL技术内幕 InnoDB存储引擎.pptx

    在InnoDB中,多版本并发控制(MVCC)机制实现了高并发访问。InnoDB的物理结构、内存结构、数据字典、索引体系、日志体系等方面,让读者对InnoDB的各个组成部分有了全面的了解。 InnoDB的工作机制包括事务管理、锁...

    MyISAM引擎与InnoDB引擎性能的对比

    行级锁定极大地减少了锁定的数据范围,从而提高了多用户环境下的并发性能。然而,由于这些额外的功能,InnoDB在内存使用和磁盘I/O上可能比MyISAM更消耗资源。 在性能对比上,MyISAM通常在读取速度上有优势,因为它...

    InnoDB官方文档中文翻译版

    Undo日志则保存了事务开始前的数据状态,用于回滚未提交的事务和MVCC(多版本并发控制)。 6. **外键与参照完整性**: InnoDB支持外键约束,确保数据引用的一致性,防止非法数据插入,维护数据库的稳定性和可靠性...

    MySQL Innodb 索引原理详解

    在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。 ##### 1.1 搜索二叉树(Binary Search Tree) 搜索二叉树是一种特殊的二叉树,每个节点至多有两个子...

    MySQL高级-第07章-InnoDB数据存储结构

    本章节将深入探讨InnoDB数据存储结构,帮助你理解其内部机制,提升数据库管理和优化能力。 1. **页(Page)** InnoDB的数据存储基于页的概念,每个页的大小通常是16KB。这是InnoDB磁盘I/O的基本单位,所有的数据和...

    MySQL内核:InnoDB存储引擎 卷1.pdf.zip

    4. **MVCC(多版本并发控制)**:InnoDB使用MVCC来实现高并发读写,尤其是在可重复读隔离级别下,MVCC可以避免读写冲突,提高系统的并行处理能力。 5. **redo日志和undo日志**:InnoDB通过redo日志记录事务对数据的...

    innodb_ruby-master.zip

    InnoDB采用MVCC(多版本并发控制)实现并发,通过Next-Key Locks防止死锁。理解这些机制可以帮助设计出更高效的并发策略。 9. 查询优化 使用EXPLAIN分析查询执行计划,找出性能瓶颈,如避免全表扫描、优化JOIN...

    InnoDB源码解析

    InnoDB为表提供了行级锁定和外键约束的特性,并且通过MVCC(多版本并发控制)机制支持高并发读写操作。 2. InnoDB架构特性 InnoDB的架构设计具备以下特点: - Buffer Pool(缓冲池):它是InnoDB中最重要的组成部分...

    XtraDB、InnoDB 内部结构示意图

    InnoDB通过doublewrite机制将数据写入磁盘来避免缓冲池中的数据损坏。 5. InnoDB的文件组织 InnoDB的表文件(.ibd)通常是单独存放的,除非配置了innodb_file_per_table=1。否则数据文件会放在系统表空间ibdata1中...

    MyISAM和InnoDB的异同

    InnoDB通过行级锁定和MVCC(多版本并发控制)机制来提高并发处理能力,同时支持外键约束,能够更好地管理表间的关系。 **特性:** - **支持事务:**InnoDB通过ACID事务确保数据的一致性和可靠性。 - **支持行级...

    MySql Innodb 引擎特性详解

    通过上述分析可以看出,InnoDB引擎凭借其强大的事务处理能力和高效的缓存机制,在需要高度并发和数据一致性的场景下表现出色。同时,通过对InnoDB的相关参数进行合理调整,可以在很大程度上提高系统的整体性能。

    5盛放记录的大盒子 —— InnoDB 数据页结构(1).md

    在深入探讨InnoDB数据页的结构之前,我们需要了解InnoDB存储引擎中“页”的概念。InnoDB使用页作为存储空间的基本单位,一个页的大小通常是16KB。InnoDB设计了多种类型的页,用以存放不同数据和信息,例如表空间头部...

    MySql中启用InnoDB数据引擎的方法.docx

    在本文档中,我们关注的是如何启用InnoDB数据引擎,因为它是支持事务处理的重要引擎,适用于许多企业级应用。 首先,理解存储引擎的概念至关重要。存储引擎决定了数据如何在MySQL中存储和管理,包括索引方式、锁定...

Global site tag (gtag.js) - Google Analytics