您能否告诉我如何在DB2中创建非聚簇索引?我无法找到任何命令。我想在三列上创建一个索引。我试过了:
CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE
ON CPMTD.ACCOUNT_NS (ACCOUNT_ID,CREATED_DATE,NOTE_TYPE);"
它给我的错误是:
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;TED_DATE,NOTE_TYPE );END-OF-STATEMENT, DRIVER=3.50.152
Message: An unexpected token "" was found following "". Expected tokens may include: "TED_DATE,NOTE_TYPE )".. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.50.152
另外,create nonclustered index命令对db2不起作用。
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:4)
正常的CREATE INDEX (DB2 for z/OS)
或CREATE INDEX (DB2 for LUW)
命令应该适合您,
CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE
ON CPMTD.ACCOUNT_NS (
ACCOUNT_ID
,CREATED_DATE
,NOTE_TYPE
)
如果你完全复制并粘贴了你的命令,那么最后的额外"
可能会搞乱。
此外,DB2将所有索引创建为非群集。除非您使用CLUSTER
选项定义新索引,否则定义的第一个索引将是聚类索引:
CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE
ON CPMTD.ACCOUNT_NS (
ACCOUNT_ID
,CREATED_DATE
,NOTE_TYPE
)
CLUSTER