Z. *_* M. 5 postgresql postgresql-12 postgresql-13
示例(假)情况:当将专门查询包含电子邮件(文本类型)的列以获取精确的字符串匹配时,对该列进行索引。
SELECT * FROM mytable WHERE email = 'test@test.com'
Run Code Online (Sandbox Code Playgroud)
在这些情况下,哈希索引是否比 B-TREE 有优势且没有缺点?
它们对插入/更新性能的影响是否不同?
(编辑:并且从未按此列排序)
如果您仅将电子邮件列与等于运算符进行比较并且没有排序,则哈希索引要快得多。
B 树可以处理可按某种顺序排序的数据的相等和范围查询。特别是,只要索引列涉及使用以下运算符之一的比较,PostgreSQL 查询规划器就会考虑使用 B 树索引:<、<=、=、>=、>
哈希索引只能处理简单的相等比较。每当索引列涉及使用 = 运算符的比较时,查询规划器都会考虑使用哈希索引。
这是 mysql 文档中两种索引类型之间的比较,但也适用于 postgresql 以及 MySQl B 树和哈希索引的比较
| 归档时间: |
|
| 查看次数: |
2043 次 |
| 最近记录: |