mysql中的InnoDB引擎是否支持Hash索引

文章目录


问题

这个问题之前我一直没有注意(压根没有好好看),但是当我有次在一个innodb引擎的表中创建hash索引的时候,只要一保存,它就会自动把我创建成BTree类型的索引。
在这里插入图片描述
一番纳闷之后,学习才知:InnoDB引起有一个特殊的功能叫做"自适应哈希索引(adaptive hash index)" 。当InnoDB注意到某些索引值被使用的非常频繁时,它会在内存中基于B-Tree索引之上再创建一个哈希索引,这样就让B-TREE索引也具有哈希索引的一些优点,比如快速的hash查找,这是一个完全自动的,内部的行为,用户无法控制或者配置,不过,如果有必要,完全可以关闭该功能。

在这里插入图片描述

延伸

这个问题,博客上有一个差不多的解释(无意中看到):https://blog.csdn.net/doctor_who2004/article/details/77414742

发布了55 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/zcswl7961/article/details/103010255