DB2标识列是否需要额外的索引?

jmp7cifd  于 12个月前  发布在  DB2
关注(0)|答案(1)|浏览(178)

我有一个DB2表,其中id列具有自动增量,如下所示:

CREATE TABLE Employee
  ( id        DECIMAL(19, 0) NOT NULL GENERATED BY DEFAULT AS IDENTITY
  , name      VARCHAR(50) NOT NULL
    ...
  )
;

字符串
在这个列上添加一个专用的索引以确保在任何情况下的唯一性和/或提高查找和连接的性能是否有意义?或者是隐式地添加一个索引?

CREATE UNIQUE INDEX I1Employee
    ON Employee
     ( id
     )
;


在类似的场景中,我总是在没有索引的情况下工作(从来没有遇到过麻烦),但同事总是创建一个索引。

j8yoct9x

j8yoct9x1#

标识列和索引不是一个或另一个-它们是两个不同的功能,用于不同的目标。这意味着是的,索引将(很可能)是有益的。如果您在表上定义主键,则将隐式地创建唯一索引。仅具有标识列并不隐式地生成索引。

相关问题