唯一字段索引

Index on unique field

我有一个用户 table 并且有一个索引 table:

add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree

索引类型为btree,email为唯一字段
值得拥有这个索引还是删除它更好?

我会先删除它,然后使用 lol_dba 中的 lol_dba db:find_indexes 看看它是否建议添加索引。

如果定义了该列 UNIQUE,它无论如何都会自动使用唯一的 btree 索引进行索引,因为这就是 Postgres 实现 UNIQUE 约束的方式。

附加索引将是多余的空舱费。删除它。

详情:

  • How does PostgreSQL enforce the UNIQUE constraint / what type of index does it use?