我正在从 Teradata 迁移到 Oracle,并且我对 DDL 中的主键和索引有疑问。
这里有几个场景和我在做什么:
1) 在 Teradata 中有:
Primary Key("X","Y")
然后在 Exadata 中我使用:
constraint "PK" PRIMARY KEY ("X","Y")
USING INDEX TABLESPACE DB_NAME" ENABLE;
2)在 Teradata 中没有主键,但有:
PRIMARY INDEX ("X")
然后在 Exadata 中我使用:
CREATE INDEX "DB_NAME"."INDEX_NAME" ON "DB_NAME"."TABLE_NAME" ("X")
3) 在 Teradata 中没有主键,但有:
UNIQUE PRIMARY INDEX ("X")
然后在 Exadata 我使用
constraint "PK" PRIMARY KEY ("X","Y")
USING INDEX TABLESPACE DB_NAME" ENABLE;
4) 在 Teradata 中没有主键,但有:
INDEX ("X")
然后在 Exadata 我使用创建索引
如您所见,何时只需要使用约束主键以及何时需要使用创建索引并不完全清楚。任何帮助将非常感激。