理解数据库的哈希算法(Hash Algorithm),可以从“它是什么、为什么用、怎么用、有什么局限”几个角度来系统地看。
哈希算法是一种把任意长度的数据(如一条记录的主键、某一列的值)通过哈希函数,映射成**固定长度哈希值(散列值)**的算法。
在数据库中,常见形式:
key → hash(key) → 存储位置 / 索引结构
例如:
hash("user_1001") = 9382
数据库通过这个值快速定位数据,而不需要逐行扫描。
最常见用法。
WHERE id = 1001)在分布式数据库中:
数据 → hash(分片键) % 节点数
例如:
hash(user_id) % 3 → 节点0 / 节点1 / 节点2
作用:
数据库执行 SQL 时:
这是很多数据库默认的 JOIN 方式。
WHERE age > 20 -- 哈希索引无能为力
| 对比项 | 哈希索引 | B+树索引 |
|---|---|---|
| 等值查询 | ⭐ 极快 | 快 |
| 范围查询 | ❌ 不支持 | ✅ 支持 |
| 排序 | ❌ | ✅ |
| 磁盘友好 | 一般 | ✅ |
| 使用场景 | KV、缓存 | 通用业务表 |
用户表:
id = 1001
hash(1001) = 25
数据库:
数据库哈希算法,本质是用“算位置”代替“找位置”,用空间换时间,用确定性换速度。
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。