在我的表格中,我有slug
类型的列TEXT
。它将存储将用于这样的查询的slug:
SELECT * FROM posts WHERE slug = 'my-post-slug'
现在我在slug上设置了unique
索引。
slug
类型的hash
列上添加第二个索引?答案 0 :(得分:4)
重新1)
如果未指定索引类型,则默认为btree。
重新2)
是的,btree索引就足够了。在Postgres中,哈希索引通常被认为效率不高。此外,他们有一些缺点。
哈希索引操作目前没有WAL记录,因此如果存在未写入的更改,则可能需要在数据库崩溃后使用REINDEX重建哈希索引。此外,在初始基本备份之后,不会通过流式传输或基于文件的复制复制哈希索引的更改,因此它们会为随后使用它们的查询提供错误的答案。 由于这些原因,目前不鼓励使用哈希索引。
(强调我的)