索引结构图:
B-树索引实现类似于倒置的树形结构,包括根节点,分支节点,叶子节点,并且使用树遍历算法来搜索列值。叶子节点中包含一对值(索引值,行编号rowid),索引值对应索引键列,行编号则表示行在表中数据块中内存地址;分支节点包含叶子几点目录及存储在其中叶子节点的值范围;根节点包含分支节点目录以及这些分支节点所包含的值范围。
B-树索引适合于具有较低选择度的列。如果列的选择度不够低,索引扫描就会很慢。并且,选择度不够低的列将会从叶子块中取出大量的行编号从而导致对表进行过多的但数据块访问,从而降低效率。
索引默认按升序排列。
索引分类:
默认的索引类型B-树;索引建立在表中的一个或多个列或者列的表达式上,将列值和行编号(rowid)一起存储。
在索引中,除了存储每个索引值外,还存储此索引对应行的rowid;