1、B-Tree索引通常意味着所有的值都是按顺序存储的,并且每一个叶子页到根的距离相同。
2、B-Tree索引能够加快访问数据的速度,因为存储引擎不再需要进行全表扫描来获取需要
的数据取而代之的是从索引的根节点开始进行搜索。
3、B-Tree索引适合顺序传递连续的值进行搜索
适用B-Tree索引的查询类型
1、全值匹配 :全值匹配指的是和索引中的所有列进行匹配
2、匹配最左前缀
3、匹配列前缀
4、匹配范围值
5、精确匹配某一列并范围匹配另外一列
6、只访问索引的查询
B-Tree索引的限制
1、如果不是按照索引的最左列开始查找,则无法使用索引。
2、不能跳过索引中的列。例如,key(A,B,C);如果查了A列,并且查了C列;如果没有查B列,那么只能使用A列索引
3、如果查询中有某列的范围查询,则其右边所有列都无法使用索引优化查询;例如:key(A,B,C),
有查询WHERE A=‘XXXX‘ AND B LIKE ‘XX%‘ AND C=‘XXXX‘,这个查询只能使用索引的前2列,因为LIKE是个范围条件。
mysql-B-Tree索引
原文:https://www.cnblogs.com/kevinleerunqing/p/12034383.html