我们来分析这几条数据的索引。由于我们name这个列建立了索引。所以name索引存储会按照【a~z】顺序排列。通过select语句,可以得到一些感性认识。如下:
mysql> select name from stu_info;
±----------+
| name |
±----------+
| allen |
| benjiemin |
| huang |
| liu |
| peter |
| roger |
| zhang |
±----------+
上述的普通索引secondary index
在B+树存储格式可能如下:
根据旧金山大学提供的可视化B+tree的效果。
其可视化地址为:[https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html](()
如下图:
我在根据上面的图,画一个自己的。如下图所示:
也能看到name这几个数据建立的B+树是怎么样的。也能看到我需要找到[liu]这个元素的话,需要两次查找。
但是,如果我的需求是,除了获取name之外还需要获取age的话。这里就需要回表了。为什么?因为我找不到age数据。
- 普通索引的叶子节点,只存