gpt4 book ai didi

postgresql - 我应该同时指定 INDEX 和 UNIQUE INDEX 吗?

转载 作者:行者123 更新时间:2023-11-29 11:10:41 26 4
gpt4 key购买 nike

在我的一个 PostgreSQL 表上,我有一组两个字段,它们将被定义为在表中是唯一的,但在选择数据时也会一起使用。鉴于此,我只需要定义一个 UNIQUE INDEX,还是我应该在 UNIQUE INDEX 之外指定一个 INDEX?

这个?

CREATE UNIQUE INDEX mytable_col1_col2_idx ON mytable (col1, col2);

还是这个?

CREATE UNIQUE INDEX mytable_col1_col2_uidx ON mytable (col1, col2);
CREATE INDEX mytable_col1_col2_idx ON mytable (col1, col2);

最佳答案

如果您有 UNIQUE INDEX,那么您就不需要 INDEX - 它会是多余的。 UNIQUE INDEX 既是唯一约束,也是可以像任何其他索引一样使用的索引。

来自documentation :

Note: The preferred way to add a unique constraint to a table is ALTER TABLE ... ADD CONSTRAINT. The use of indexes to enforce unique constraints could be considered an implementation detail that should not be accessed directly. One should, however, be aware that there's no need to manually create indexes on unique columns; doing so would just duplicate the automatically-created index.

强调我的。

关于postgresql - 我应该同时指定 INDEX 和 UNIQUE INDEX 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4531693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com