mysql-索引
索引是存储引擎用于快速找到记录的一种数据结构
索引的类型:
1、BTree类型;
BTree通常意味着所有的额值都是按照顺序存储的,并且每一个叶子页到跟的距离相同。BTree索引能够加快访问数据的速度,因为存储引擎不在需要全表扫描来获取需要的数据,取而代之的是从索引的根节点开始进行搜索。
根节点的槽中存放了指向子节点的指针,存储引擎根据这些指针向下层查找。通过比较节点页的值和要查找的值可以找到合适的指针,进入下层节点,这些指针实际上定义了子节点页中值的上限和下限。最终存储引擎要么找到对应的值,要么该记录不存在;
有效的索引类型:
全值匹配
匹配最左前缀
匹配列前缀
匹配范围值
匹配多个列
只访问索引的查询
order by操作
2、HASH索引;
哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小的值并且不同键值的计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针

浙公网安备 33010602011771号