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

标签 mysql indexing

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

在这种情况下我应该使用哈希索引吗?对于这种情况,散列有什么缺点吗?

最佳答案

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

BTree 更灵活(您可以用来检索索引键上的排序数据,可以用来解析范围查询),所以,除非您有非常具体的情况(仅等式查找查询,在特殊存储上)就去找 BTree 吧。

关于mysql - 我应该在 mysql 中使用哈希索引进行相等查找吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4154143/

相关文章:

mysql - Transact SQL 递减表值,然后返回 MYSQL 的项目

MySql 仅导出架构而不导出数据

php - Doctrine2关系-如何设置不存在的关联实体对象

MySQL:VARCHAR 的大小与 PK 一样快,与 INT 一样快吗?

c# - 在字典和集合上自动添加索引器是一个好的设计决策吗?

php - MySql如何从一个时间间隔生成一个完整的日历?

MATLAB:使用逻辑索引提取子矩阵

Python - 数据清理

python - 嵌套 FOR 循环索引问题 - Python

python - 如何从 numpy 二维数组中找到大于特殊数字的元素索引?