- 索引是帮助MySQL高效获取数据的排好序的数据结构
- 索引存储在文件里,存在相应的磁盘里。下面介绍InnoDB引擎
- 索引结构
- 二叉树(红黑树)
- hash
- BTREE
二叉树的性质
二叉树 https://www.cs.usfca.edu/~galles/visualization/BST.html
红黑树https://www.cs.usfca.edu/~galles/visualization/RedBlack.html hashmap的底层就是红黑树。
BTREE B树https://www.cs.usfca.edu/~galles/visualization/BTree.html
B+ Trees B+树https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html
1.索引底层数据结构B+ 树详解?
2.索引为什么不用红黑树与hash?
3.如何建立高性能的索引?
4.面试关于索引都问些什么?
5.在没有索引的 情况下,mysql是怎么从磁盘里通过sql查找数据
这里 需要清楚 计算机组成原理里面的 磁盘存取原理 (一次磁盘I/O,包括寻道时间和旋转时间)
如果所查表数据百万级或千万级,若没有索引或其它 这样一次次去进行磁盘 I/O,查询就比较慢了。