,首先看到下图的Col2字段,如果我们要查找where col2 = 89的记录,我们在没有加索引的情况下,数据库默认会从上往下按顺序查找记录,那么将会查找5次才能查到数据,如果对Col2字段加上索引之后...缺点:
在大部分情况下,我们设计索引时都会在表中提供一个自增整形字段作为建立索引的列,在这种场景下使用二叉树的结构会导致我们的索引总是添加到右侧,在查找记录时跟没加索引的情况是一样的,如下图
?...缺点:
从上面得知,在查询单条数据是非常快的。但如果范围查的话,BTree结构每次都要从根节点查询一遍,效率会有所降低,因此在实际应用中采用的是另一种BTree的变种B+Tree(B+树)。...运行原理:假如我要查找id为30的数据
1.首先会再根目录进行查找,将该数据页加载到内存通过二分查找等其他合适的算法,发现30是在15-56之间,则进入第二数据页
2.进入之后,又会将该数据页加载到内存比较...会先从左边的列优先匹配,如果最左边定义的列都没有被使用到,在未使用覆盖索引的情况下,mysql就会默认执行全表扫描。