gpt4 book ai didi

sql - 唯一索引有什么用?

转载 作者:行者123 更新时间:2023-12-02 09:12:23 24 4
gpt4 key购买 nike

这可能是一个非常愚蠢的问题,但我从未使用过唯一索引:不过我使用过唯一约束。

我阅读了相关问题Unique index vs. unique constraint that uses a unique index但仍然无法真正理解为什么存在唯一索引。

对我来说 UNIQUE 听起来更像是一个约束而不是一个索引。它不应该总是被指定为约束吗?还是我在这里遗漏了什么? (最有可能的)。所以简单来说,我的问题是:

  • 唯一索引有什么用?

也许答案就在历史书中,并且与它们是如何按时间顺序发展的有关。

最佳答案

PostgreSQL documentation on unique constraints 中给出了唯一索引可以做而唯一约束不能做的一件事.

A uniqueness restriction covering only some rows cannot be written as a unique constraint, but it is possible to enforce such a restriction by creating a unique partial index.

在他们的 partial unique index docs他们举了一个例子。

Suppose that we have a table describing test outcomes. We wish to ensure that there is only one "successful" entry for a given subject and target combination, but there might be any number of "unsuccessful" entries. Here is one way to do it:

CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
WHERE success;

关于sql - 唯一索引有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50747889/

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