id>30的数据
1.会先定位30的数据
2.因为叶子节点的指针链路是排好序的,所以会直接根据30的索引值,往右的所有值查询出来
为什么mysql使用b+树而不使用b树
影响树的查询效率是根据树高度决定的...为什么建议InnoDB表必须建主键,并且推荐使用整形的自增主键
1.首先,为了满足MySQL的索引数据结构B+树的特性,必须要有索引作为主键,可以有效提高查询效率,因此InnoDB必须要有主键。...(a,b,c) ,mysql会先从左边的列优先匹配,如果最左边定义的列都没有被使用到,在未使用覆盖索引的情况下,mysql就会默认执行全表扫描。...mysql会优先以联合索引的第一列开始匹配,此后才会匹配下一列,如果不指定第一列匹配的值,那么也就无法知道下一步要查询那个节点(可以联想B+树的数据结构,第一列匹配到值后,会进行一次数据结构的排序筛选,..."等这样的范围查询,那么b+树也就无法对下一列进行等值匹配了(可以联想到,就算建立了索引,因为是范围查询,mysql会认为走索引会导致回表查询过多,导致效率并不会比全表扫描快,最终mysql就会走全表扫描