Mysql InnoDB读书笔记

一些常用命令:

show engines;

show engine innodb status;

show variables like 'innodb_%';



mysql体系结构图:


包括:

连接池组件

管理服务和工具组件

SQL接口

查询分析器

优化器

cache组件

插件式存储引擎(核心,包括了内存、索引,存储管理等) 存储引擎是基于表的,而不是数据库

物理文件


InnoDB存储引擎:

主要面向OLTP(事务处理类),特点:行锁,外键,非锁定读(默认情况下,读不好产生锁),MVCC(多版本并发控制,提高并发速度),next-key locaking避免幻读,

插入缓冲,二次写,自适应哈希索引,预读,聚簇索引(数据按主键顺序存储)。


MyISAM存储引擎:

适用于OLAP类应用。不支持事务;表锁;全文索引。对于MyISAM存储引擎表,Mysql只缓存索引,数据文件的缓存交给操作系统。 其后续存储引擎:Maria


InnoDB后台线程:

IO Threads(insert buffer thread,log thread,read threads,write threads),Master thread,锁监控线程,错误监控线程。


InnoDB的内存:

缓冲池(最大),redo log buffer,additional memory pool

InnoDB总是将数据库文件按页(16K)读取到缓冲池,按LRU算法进行刷新,当数据库文件需要修改,先修改缓冲池中的,再按一定频率将脏页刷新到数据库

缓冲池中不仅有数据页,索引页,还有undo页,插入缓冲,自适应哈希索引,InnoDB存储的锁信息,数据字典信息等。


Master thread:

master thread下包括几个loop:

loop(主loop)

background loop

flush loop

suspend loop


master thread 源码分析见读书笔记2
























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值