索引
索引,来帮助你找到你想要的数据,类似书本的目录,但是如果目录1000页你想找到最后一个数据,也要找1000次。
所以mysql把目录设计成一棵树。(树长什么样子看下方图和网站)
索引分类
就分为两类:
- **聚簇索引
- 二级索引:
二级索引可以分为我们经常说的:普通、唯一、联合、全文索引
索引的发展
- **索引也是慢慢进化的,从 二叉树==>平衡二叉树==>红黑树==》B树==》B+树
索引进化之路
贴一个数据结构可视化演示网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
二叉树:如果数据按顺序,会变成这样,那和没有一样,找5还是要5次

平衡二叉树:会进行自旋,自旋规则可以自己定义,找5需要3次

红黑树:属于平衡二叉树的一种,区别:自己ai。5条数据和平衡二叉树一样
B树:一个节点存多个值,可以设置一个节点最大放几个值,我设置的是3,这样找5只需要2次

B+树:看起来比B树还多一层,但是他的叶子节点是连在一起的,好处下一篇讲

索引这棵树到底存的是什么?
1)无论是刚刚的哪棵树,存什么要看,这是什么索引。
2)聚簇索引:树的节点存储整行数据
二级索引:存储你建立的字段值
比如:创建user表中age字段为普通索引
CREATE INDEX 索引名 ON user(age);
那这棵树就会以age创建索引,age:18,20,23,30,29。数据库就会这样存数据

总结
了解索引概念,下一篇介绍
1)B树和B+树的区别
2)回表问题
3)mysql索引优化
4)最左匹配原则等
想了解的任意内容打在评论区,一起讨论
&spm=1001.2101.3001.5002&articleId=163079484&d=1&t=3&u=daebc9bd62b54552943748fb3d2c693e)
4361

被折叠的 条评论
为什么被折叠?



