索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息,我们可以先来看一看在mysql中一个B+树索引的实例
其实我们可以把索引理解成在我们查字典时的目录,为什么这么说呢,我们先来看看我们是如何通过拼音来查一个【帮】字的
1.打开总目录,然后找到汉语拼音音节索引所在的起始页p10
2.翻到汉语拼音音节索引(它的名字也叫索引,这样就更好理解了呀),然后找到bang拼音的起始页p14
- 然后我们在p14页顺序搜索找到【帮】字
此时我们再回过头来看前面B+树的那个实例结构图,是不是感觉到了惊人的相似,那个页33不就是字典里的总目录嘛,页30和页32不就是对应着汉语拼音音节索引和部首检字表的起始页,页10、页28…这样存放用户记录的的叶子节点,不就对应着字典中像p14这样存放真正数据的页面嘛,可能有差异的无非是在mysql中根据主键的大小给用户记录进行排序的,而字典中的排序是按照拼音的排序规则来进行排序的。