首页 文章

我应该在mysql中使用哈希索引进行相等查找

提问于
浏览
0

如果我有一个表,其中某些字段总是使用相等运算符(其中id = 5)搜索,那么最好使用哈希索引 . 我读到Hash索引在这种查询中更好,但不适合范围查询 .

在这种情况下我应该使用哈希索引吗?哈希对于这种情况是否有任何缺点 .

2 回答

  • 0

    您不能将HASH索引与MyISAM或InnoDB一起使用 . 因此,如果您使用MEMORY或NDB(群集)存储(您可能不是),则可以使用HASH索引 .

    BTree更灵活(您可以使用索引键检索已排序的数据,您可以使用它来解析远程查询),所以,除非您有一个非常具体的情况(在特殊存储上的EQUALITY-ONLY查询查询),只需去B树 .

  • 1

    您不能在某些引擎上使用哈希索引,包括MyISAM和InnoDB . 此外,对于非常小的索引键,例如单个整数值(与多列索引或字符串索引相反),您将获得性能改进并不明显 .

相关问题