MySQL架构 |
mysql原理
架构
逻辑架构
连接器
连接池
缓存
解析器
优化器
执行器
引擎
物理架构
读写方式
日志:顺序IO
记录首地址和偏移量
优势:查找快
不足:浪费空间
数据:随机IO
记录物理地址
省空间
寻址耗时
sql执行流程
简单执行流程
复杂执行流程
日志
bin log:二进制日志
慢查询日志
错误日志
回归日志
重做日志
中继日志
通用查询日志
数据文件
innodb
.frm 存储表相关的数据,如表结构
.ibd 独享表空间存储索引和数据,一张表一个.ibd文件
.ibdata 共享表空间存储索引和数据,多张表对应一个.ibData
myisam
索引
一种用于快速查询的数据架构
优势
便于快速检索,降低数据库IO
被索引的列会自动排序-索引覆盖
where 和 order by
劣势
增加磁盘空间
有利于查询,不利于增删改
排序耗费性能
存储结构
聚合索引:数据和索引在同一节点
非聚合索引:数据和索引不在同一节点
B+树:innodb和myisam,不同于B树,B+树只在叶子节点存储数据
分类
主键索引
唯一键索引
组合索引
普通索引
两个概念
回表
索引覆盖