【发布时间】:2011-08-14 03:00:44
【问题描述】:
MySQL 文档提到了在某些情况下使用哈希索引的可能性,例如:
- http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html
- http://dev.mysql.com/doc/refman/5.1/en/index-btree-hash.html
- http://dev.mysql.com/doc/refman/5.1/en/innodb-adaptive-hash.html
也就是说,内存表(和 NDB;另请参阅 MySQL Static Hash-index)支持哈希索引,并且 InnoDB 可以自适应地使用哈希索引(如果有益)。
但是,上面的文档有点稀疏。对于 MySQL 中哈希索引的特定用途/详细信息,还有其他好的文档/参考吗?基本的散列行为是隐含的,但更多细节会很好。
【问题讨论】:
-
文档似乎足够了,假设您了解哈希是什么以及哈希表是如何工作的。特别是,您希望找到哪些内容不会被维基百科覆盖?
-
好问题。在关于自适应哈希索引的部分中,它说“InnoDB 为那些经常访问的索引页面按需构建哈希索引。”所以自然的问题如下:1)什么是“经常”? 2) 有什么方法可以分析这种行为,以了解这种情况发生的时间/频率?