mysql-btree和hash索引

sqyvllje  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(659)

我试过寻找类似的问题,但没有发现任何问题,除了关于同一列的两个索引的问题(一般来说)。
假设我们有一个带列的表 COL . 表(和整个数据库)对于客户端是只读的(假设它每长时间更新一次,并且只由后端服务更新一次)。因此,插入/更新时间无关紧要。
对于此列,有大量使用的查询,它们搜索 COL 值在某个范围内,一些更常用的查询搜索 COL 直接与值比较(相等检查)。
鉴于上述情况,同时持有两种观点是否有益 BTREE 以及 HASH 索引打开 COL ? 优化器会使用 BTREE 范围查询和 HASH 直接比较查询的索引?答案会改变吗 COL 属于类型 varchar(256) ?
谢谢!

ws51t4hk

ws51t4hk1#

我会坚持使用b树索引,因为你无论如何都需要它。使用散列索引也可能会带来一些小的性能提升,但是您也会占用更多的内存。
更重要的是,哈希索引不适用于最常见的存储引擎(innodb和myisam)——文档中的表13.1。

相关问题