我使用以下脚本创建了一个表(我使用了使用索引)。在oracle中使用索引与创建索引
CREATE TABLE TABLE1 (
C1 VARCHAR2(2 CHAR) NOT NULL ENABLE,
C2 VARCHAR2(1 CHAR) NOT NULL ENABLE,
CONSTRAINT TABLE_PK PRIMARY KEY (C1) USING INDEX TABLESPACE SFE_I1
)
TABLESPACE SFE_D1;
在上面的查询索引会创建什么列?
CREATE INDEX IDX_TABLE ON TABLE1 (C1) TABLESPACE SFE_I1;
如果我使用上面的创建索引查询创建索引,它将为C1列创建索引。但是这两个脚本之间有什么区别。
以及如果我运行这个查询,应该发生什么。有什么建议的方式来做到这一点?
如果我创建表的脚本包含复合主键,我使用使用索引会那么如何创建索引关键字(将它打造为所有的复合列单指数)
如果在上述帖子的第一个查询中没有使用USING INDEX,它会默认创建索引吗?如果是,我们如何看到索引? 如果复合主要使用索引创建,那么它会创建考虑所有涉及的复合列的索引。 – Yoga
如果我想为不是主键的列创建索引,那么应该满足哪些条件(例如,如果列能够生成重复值) – Yoga
@Yoga主键将始终创建索引,它与主键具有相同的名称。如果您省略'using index tablespace'子句,它将在默认表空间上创建。如果你有一个复合键,它将创建一个复合索引。您可以在具有重复值的列上创建索引。如果你试图创建一个“唯一索引”,它会失败。 – Mureinik