mysql-索引

索引是存储引擎用于快速找到记录的一种数据结构

索引的类型:

1、BTree类型;

BTree通常意味着所有的额值都是按照顺序存储的,并且每一个叶子页到跟的距离相同。BTree索引能够加快访问数据的速度,因为存储引擎不在需要全表扫描来获取需要的数据,取而代之的是从索引的根节点开始进行搜索。

根节点的槽中存放了指向子节点的指针,存储引擎根据这些指针向下层查找。通过比较节点页的值和要查找的值可以找到合适的指针,进入下层节点,这些指针实际上定义了子节点页中值的上限和下限。最终存储引擎要么找到对应的值,要么该记录不存在;

有效的索引类型:

  全值匹配

  匹配最左前缀

  匹配列前缀

  匹配范围值

  匹配多个列

  只访问索引的查询

  order by操作

2、HASH索引;

哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小的值并且不同键值的计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针

 

posted @ 2017-11-25 08:40  jeasy  阅读(63)  评论(0)    收藏  举报