一、Mysql系统架构
二、InnoDB和MyISAM对比
1、事务和外键
InnoDB支持事务和外键,强调安全和完整性,适合大量的insert和update操作
MyISAM不支持事务和外键,他提供高速存储和检索,适合大量的select查询操作
2、锁机制
InnoDB支持行级锁,锁定指定记录,基于索引来加锁实现
MyISAM支持标记锁,锁定整张表
3、索引结构
InnoDB使用聚集索引,聚簇索引,索引和记录在一起存储,级缓存索引也缓存记录
MyISAM使用非聚集索引,非聚簇索引,索引和记录分开
4、并发处理能力
InnoDB读写阻塞可以与隔离级别有关,可以采用多版本并发控制mvcc来支持高并发
MyISAM使用表锁,会导致写操作并发率低,读之间并不阻塞,读写阻塞。
5、存储文件
InnoDB表对应两个文件,一个.frm表结构文件,一个是.idb数据文件,默认最大支持64TB
MyISAM表对应三个文件,一个.frm表结构文件,一个MYD表数据文件,一个.MYI索引文件,默认5.0版本后最大256TB
一、InnoDB内存结构
内存结构主要有Buffer Pool 、Change Buffer、Adaptive Hash Index和Log Buffer四大组件