首页 > 编程知识 正文

Mysql InnoDB读书笔记,艾青诗选读书笔记

时间:2023-05-03 17:50:49 阅读:194097 作者:338

一些常用命令:

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
























版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。