innodb

主要特点:支持事务,走聚簇索引,支持外键约束。
对于海量数据、高并发、高可用场景,基于innodb存储引擎,有成熟的数据库架构方案:分库分表、读写分离、主备切换。

拓展!:基于 innodb 存储引擎,怎么实现分库分表支撑大数据量、用读写分离支撑高并发读等。

MySQL 索引

B+ 树

先聊 B- 树,再聊 B+ 树。
B- 树每个索引节点都包含data(数据记录或者指针)。
B+ 树只有叶子节点包含data。
B+ 树的改进:同一层的节点,顺序指针,利于范围查找。

索引文件

myisam
截屏2021-06-12 上午10.14.07.png
innoDB 要求必须有主键,根据主键建立索引。
截屏2021-06-12 上午10.17.01.png
innodb 的name索引文件的data是主键。

自增主键值,避免任意插入,导致页分裂。

索引的规则

联合索引和最左匹配原则

范围列

对于范围列,使用了索引之后,再不能使用索引了。 //分析下就可以知道。。。

MySQL/索引的最佳实践

sql尽可能简单。

Mysql是存储数据,不是计算数据。可以利用Mysql的事务。

如何向面试官介绍

1 主要的存储引擎
2 索引的结构,B+树,B-树画图!innoDB、Myisam的索引文件!
3 索引匹配原则