|NO.Z.00144|——————————|BigDataEnd|——|Java&MySQL.高级.V16|——|MySQL.v16|索引原理_HASH结构介绍|

一、HASH结构介绍
### --- 索引原理

——>        MySQL中索引的常用数据结构有两种,一种是Hash,另一种是BTree。
### --- HASH结构

——>        Hash底层实现是由Hash表来实现的,是根据键值 <key,value> 存储数据的结构。
——>        非常适合根据key查找value值,也就是单个key查询,或者说等值查询。
——>        对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码,
——>        哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。
### --- Hash索引的缺点

——>        哈希索引只包含哈希值和行指针,而不存储字段值,
——>        所以不能使用索引中的值来避免读取行。
——>        哈希索引数据并不是按照索引值顺序存储的,所以也就无法用于排序。
——>        哈希索引只支持等值比较查询。不支持任何范围查询和部分索引列匹配查找。
### --- Hsah索引的优点

——>        只需要做等值比较查询,而不包含排序或范围查询的需求,都适合使用哈希索引
——>        访问哈希索引的数据非常快,除非有很多哈希冲突。

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-04-06 16:00  yanqi_vip  阅读(31)  评论(0)    收藏  举报

导航