什么是索引
索引是帮助MySQL高效获取数据的排好序的数据结构
数据结构有哪些
数据结构模拟网站:Data Structure Visualization
- 二叉树
不适合做自增ID的数据结构。如下示意图,假设采用二叉树作为表自增主键ID的数据存储结果如下:当查询id为5的数据时,其查询次数为5次
- 红黑树
不适合做mysql的索引,因为当表数据太大时,树的高度也同时增大,导致高度不可控和查询速度同时变慢。
- Hash表
- 对索引的key进行一次hash计算就可以定位出数据存储的位置
- 很多时候Hash索引要比B+ 树索引更高效