繁体   English   中英

Postgres 中的唯一约束是否会创建索引?

[英]Does the unique constraint in Postgres create an index?

假设我有一个如下所示的表:

CREATE TABLE products (
   product_no integer UNIQUE NOT NULL,
   name text,
   price numeric
);

然后,如果我将值插入表中,postgres(或任何类似的 DBMS)会实际检查表的每一行还是自动创建索引? 如果没有索引,这会很快变得昂贵 [O(N!)]。

是和否。 Postgres 检查product_no是否尚未插入。 它通过检查索引而不是单个行来实现。

唯一约束是使用索引实现的,因此检查重复是 O(log n) 而不是 O(n)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM