MySQL: mini-transaction简析

本文介绍了MySQL InnoDB中的Mini事务(mtr),它用于管理锁和日志信息。mtr_struct结构体包含memo和log两个动态数组,分别用于锁管理和事务日志。mtr_start初始化事务,mtr_commit负责将修改写入日志并释放资源。在准备阶段,mlog_write_ulint用于写入文件页面并在迷你事务日志中记录操作。
摘要由CSDN通过智能技术生成

转载请署名:印风

-----------------------------------------------

在innodb里我们经常可以看到一段代码,以mtr_start()开始,以mtr_commit(&mtr)结束;minitransaction主要用于锁和日志信息.

Mini事务的控制结构体:

struct mtr_struct{

#ifdef UNIV_DEBUG

         ulint          state;       /*!<MTR_ACTIVE, MTR_COMMITTING, MTR_COMMITTED */

#endif

         dyn_array_t     memo;     /*!<memo stack for locks etc. */

         dyn_array_t     log;  /*!<mini-transaction log */

         ibool                   inside_ibuf;

                                     /*!<TRUE if inside ibuf changes */

         ibool                   modifications;

                                     /*TRUE if the mtr made modifications to

                                     bufferpool pages */

         ulint          n_log_recs;

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值