【发布时间】:2013-03-20 04:16:12
【问题描述】:
我最近停止认为主键不是索引,它们是唯一和空约束的组合。直到现在,我从未为 PK 列创建索引。我的问题是,如果要在许多查询的 WHERE 部分中使用此列,是否应该为 PK 列创建索引。
【问题讨论】:
-
主键已编入索引。
-
要查看支持主键约束的索引:select ui.* from USER_CONSTRAINTS uc, USER_INDEXES ui where uc.table_name = 'MY_TABLE_NAME' and constraint_type = 'P' and ui.TABLE_OWNER = uc。 OWNER 和 ui.TABLE_NAME = uc.TABLE_NAME 和 ui.INDEX_NAME = uc.INDEX_NAME;
-
Oracle 数据库通过在唯一键或主键上创建唯一索引来对表实施唯一键或主键完整性约束。启用约束时,该索引由数据库自动创建。
-
当您发出 CREATE TABLE 或 ALTER TABLE 语句来创建索引时,您不需要执行任何操作,但您可以选择指定一个 USING INDEX 子句来控制其创建。这包括定义和启用约束时,以及启用已定义但禁用的约束时。
标签: oracle indexing primary-key