InnoDB存储引擎简述

——Mysql技术内幕,InnoDB存储引擎学习笔记


InnoDB存储引擎

设计目标:面向在线事务处理

特点:行锁设计,支持外键,支持非锁定读(默认读操作不会产生锁,能够用来有效地利用CPU、内存资源)

并发:通过多版本并发控制(MVCC)控制,实现SQL标准的4种隔离级别:

  • 未提交读(Read uncommitted)
  • 提交读(Read committed)
  • 可重复读(Repeatable read)
  • 可串行化(Serializable)

对于存储:采用聚集(clustered)的方式,按主键的顺序进行存放,如果没有指定主键,InnoDB引擎会为每一行生成一个6字节的ROWID,以此作为主键


InnoDB后台线程

  • Master Thread:线程负责将数据异步刷新到磁盘
  • IO Thread:处理异步IO请求与IO的回调处理
  • Purge Thread:回收已使用并分配的日志记录
  • Page Cleaner Thread:将被修改过的页(数据页式存储)的刷新操作放入单独的线程中完成,减轻MasterThread的负载

InnoDB缓冲池:

作用:InnoDB基于磁盘存储,由于CPU与磁盘之间读写速度差距太大,引入缓冲池来提高效率,页式存储数据
存储方式:页式(类似于操作系统中的)
内存数据对象:
结构图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值