Mysql中哈希表索引是如何工作的?

提问者:帅平 问题分类:面试刷题

Mysql中哈希表索引是如何工作的?

1 个回答
Rae
Rae 管理员

如果你在创建索引时指定数据结构为「哈希表」,那这些索引也可称为「哈希索引」。

哈希索引的优点非常明显,在一定场景下,检索指定值时哈希表的效率极高。比如上面我们讨论的一个查询语句:SELECT * FROM t_employee WHERE name = ‘leixiaoshuai’,如果在 name 列上加一个哈希索引,检索速度有可能会成倍提升。

哈系索引的工作方式是将列的值作为索引的键值(key),键值相对应实际的值(value)是指向该表中相应行的指针。因为哈希表基本上可以看作是关联数组,一个典型的数据项就像 「leixiaoshuai => 0x996996」,而 0x996996 是对内存中表中包含 leixiaoshuai 这一行的引用。在哈系索引的中查询一个像 leixiaoshuai 这样的值,并得到对应行的在内存中的引用,明显要比扫描全表获得值为 leixiaoshuai 的行的方式快很多。

发布于:1个月前 (10-25)
我来回答