Mysql

27次阅读
没有评论

共计 1623 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 Mysql-InnoDB 事物的示例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

事物基本概念

事物的特性(ACID)

原子性 atomicity

一致性 consistency

隔离性 isolation

持久性 durability

事物的类型

扁平事物

带有保存点的扁平事物

链事物 嵌套事务

分布式事务

事物的实现

redo 与 undo redo
redo:保证事物的原子性、持久性,物理日志,基本上是顺序写
undo:保证事物的一致性,逻辑日志,undo 会产生 redo,用于事物回滚和 mvcc,随机读写

redo

redo log buffer
redo log file

force log at  commit 机制实现事物的持久性

redo log buffer – 文件系统缓存 –(fsync)磁盘文件

innodb_flush_log_at_trx_commit
0:master thread 完成写入磁盘
1: 默认,每次事物提交必须 fsync
2: 写入文件系统缓存,不执行 fsync

log block

512 字节和磁盘山区大小一致,保证日志写入是原子性的,不需要 doublewrite?技术

Mysql-InnoDB 事物的示例分析

分为 512 – 12 -8 = 492
重做日志头:12 字节
重做日志内容:
重做日志尾:8 字节

LOG_BLOCK_HAR_NO【4 字节】:log block 在 log buffer 的位置
LOG_BLOCK_HAR_DATA_LEN【2 字节】:log block 占用大小
LOG_BLOCK_FIRST_REC_GROUP【2 字节】: 第一个日志所在的偏移量
LOG_BLOCK_CHECKPOINT_NO【4 字节】: 最后被写入时的检查点第 4 字节的值??

log grooup

多个多个重做日志文件组成

redo log file

Mysql-InnoDB 事物的示例分析

重做日志格式

Mysql-InnoDB 事物的示例分析

redo_log_type: 重做日志的类型
space:表空间的 ID
page_no:页的偏移量

LSN(log sequence number)

8 字节,单调递增
含义:
重做日志写入总量
checkpoint 的位置
页的版本

Mysql-InnoDB 事物的示例分析

undo

undo segment:共享表空间内

(128 个)rollback segment(1024 个)undo segment,事物并发限制在 128*1024

undo log 格式

insert undo log
update undo log

Mysql-InnoDB 事物的示例分析

purge

group commit

事物的隔离级别

READ UNCOMMIT:使用查询语句不会加锁,可能会读到未提交的行(Dirty Read)
READ COMMIT:只对记录加记录锁,而不会在记录之间加间隙锁,所以允许新的记录插入到被锁定记录的附近,所以再多次使用查询语句时,可能得到不同的结果(Non-Repeatable Read)EPEATABLE READ:多次读取同一范围的数据会返回第一次查询的快照,不会返回不同的数据行,但是可能发生幻读(Phantom Read);
SERIALIZABLE:InnoDB 隐式地将全部的查询语句加上共享锁,解决了幻读的问题;

脏读:在一个事务中,读取了其他事务未提交的数据
不可重复读:在一个事务中,同一行记录被访问了两次却得到了不同的结果。
幻读:在一个事务中,同一个范围内的记录被读取时,其他事务向这个范围添加了新的记录。

不可重复读的原因就是,在 READ COMMITED 的隔离级别下,存储引擎不会在查询记录时添加行锁,锁定 id = 3 这条记录。

分布式事物

XA

Resource Managers:提供访问事物资源的方法
Transaction Maneger:协调参与全局事物中的各个事物
Application Program:定义事物的便捷,指定全局事物中的操作

Mysql-InnoDB 事物的示例分析

感谢各位的阅读!关于“Mysql-InnoDB 事物的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计1623字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)