mysql得关键字
1、mysql由以下几部分组成
连接池组件、 管理服务和工具组件、SQL接口组件、查询分析器组件、优化器组件、缓存组件、插件式存储引擎、物理文件
2、innodb 默认隔离级别
可重复读。 next-key locking的策略避免幻读现象。
3、mysql得机制-缓冲池
提供了插入缓冲、二次写、自适应哈希索引、预读等高可用的功能innodb 在mysql5.5才开始成为(非window系统)默认的表存储引擎 lru算法。并且加入midpoint位置 unzip_LRU 以及伙伴算法 checkpoint机制。刷新到磁盘。
缓冲池是协调CPU速度和磁盘速度得鸿沟,update、delete修改缓冲池中得页,然后刷新到磁盘 write Ahead log 重做日志来保证数据不丢失。
4、checkpoint得触发时机
- 脏页超过固定比例得时候
- 达到固定时间得时候
- lru算法删掉脏页得时候
5、innodb关键特性
- 插入缓冲:主键递增得数据,会顺序存放(非指定主键),不需要随机查询其它得页来判断插入得位置。非聚集索引得数据并不是直接插入索引页。而是插入change buffer.多个合并一个操作插入
- 两次写:带给innodb存储引擎数据页得可靠性。
- 自适应哈希索引:提高效率。自动创建哈希索引。产生条件是 以该模式访问了100次;页通过该模式访问了N次,N=页中记录*1/16;
- 异步IO:AIO 可以判断连续得数据,会合并成为同一个IO。 提高IO效率
- 刷新领接页:配合AIO 将多个写入操作变为一个写入操作
小结
以上为作者编写得innodb存储引擎得关键点。
感觉有收获点击关注,会持续更新!