mysql进阶-数据结构与索引(持续更新中)

索引

mysql进阶-数据结构与索引(持续更新中)_第1张图片

数据结构:

二叉树:当数据向一次倾斜就会变成链表结构

mysql进阶-数据结构与索引(持续更新中)_第2张图片
红黑树:又名 二叉平衡树

mysql进阶-数据结构与索引(持续更新中)_第3张图片
弊端:数据量大,树会很高

B-Tree: 树得横向扩展

mysql进阶-数据结构与索引(持续更新中)_第4张图片
B+Tree:

mysql进阶-数据结构与索引(持续更新中)_第5张图片
Hash:

mysql进阶-数据结构与索引(持续更新中)_第6张图片

存储引擎:

MyISAM:
mysql进阶-数据结构与索引(持续更新中)_第7张图片在这里插入图片描述
· MyISAM存储引擎是基于ISAM存储引擎发展起来的。
文件类型(MyISAM储存引擎的表存储成3个文件,文件名与表名相同,扩展名包括frm、myd、myi):
· frm:存储表的结构;
· myd:存储数据,是MYData的缩写;
· myi:存储索引,是MYIndex的缩写;

InnoDB:

mysql进阶-数据结构与索引(持续更新中)_第8张图片mysql进阶-数据结构与索引(持续更新中)_第9张图片在这里插入图片描述
特点:
· 提供的功能:事务、回滚、奔溃修复能力和多版本并发控制的事务安全。

· 是Mysql是第一个提供外键约束的表引擎。

· 支持自动增长列AUTO_INCREMENT(Mysql中规定自动增长列的必须为主键)。

优缺点:

· 优势在于提供了良好的事务管理、奔溃修复能力和并发控制。

· 缺点是读写效率稍差,占用的数据空间相对比较大。

适用场合:

· 更新密集的表:InnoDB存储引擎特别适合处理多重并发的更新请求。

· 事务:InnoDB存储引擎是唯一支持事务的标准MySQL存储引擎,这是管理敏感数据(如金融信息和用户注册信息)的必须软件

· 自动灾难恢复:与其他存储引擎不一样,InnoDB表能够自动从灾难中恢复。虽然MyISAM表也能在灾难后修复,但其过程要长的多

联合主键索引:B+Tree

mysql进阶-数据结构与索引(持续更新中)_第10张图片
根据字段先后顺序排序:
第一个字段相等,根据下一个字段排序。
最左前缀原则:

mysql进阶-数据结构与索引(持续更新中)_第11张图片
后两个不走索引

你可能感兴趣的:(mysql,mysql,数据结构,二叉树,索引,链表)