MYSQL----哈希索引
-
什么是哈希索引
1.哈希索引基于哈希表实现,只精确匹配索引所有列的查询时才有效。对于存储引擎都会对每一个索引列计算一个hash值,并且不同键值的行计算出来的hash值也不同(注意这里只行与行之间完全不同,只有有一个地方不同,他的hash值就不同,它将哈希码存储在索引中,同时在哈希表中保存指向每一个数据行的指针,注意时指向的指针而非具体的值,且hash值时顺序的,从小到大不一定连续),像下表这样子
|槽(slot)| 值(value) |
|2323|某某表中的第一行|
|2458|某某表中的第二行 | -
在MYSQL中只有Memory引擎显式支持哈希索引
-
下面我们来看一个例子,且假设转换哈希值的函数是f()
`CREATE TABLE testhash(fname varchar(50)