Mad*_*ddy 4 sql-server indexing alter-table clustered-index non-clustered-index
我使用 SQL Server 2008。
我正在尝试在我的表上创建非聚集索引。我想检查是否存在一种方法可以在不给索引命名的情况下创建它。
例如
CREATE TABLE #mytable (Date_ datetime NOT NULL, ID_ varchar(10) NOT NULL, Value_)
Run Code Online (Sandbox Code Playgroud)
当我向该表添加 PK 时,我没有指定该密钥的名称。例如
ALTER TABLE #mytable ADD PRIMARY KEY CLUSTERED (Date_ ASC, ID_ ASC)
Run Code Online (Sandbox Code Playgroud)
是否可以执行类似的操作来创建非聚集索引而不指定名称?
例如
ALTER TABLE #mytable ADD NONCLUSTERED INDEX (Date_, Value_) -- FAILS!!!
Run Code Online (Sandbox Code Playgroud)
我知道的唯一命令是
CREATE NONCLUSTERED INDEX *keyname* ON #mytable (Date_, Value_)
Run Code Online (Sandbox Code Playgroud)
小智 7
创建临时表后,使用 guid 作为索引名称执行动态续集
声明 @NewId VARCHAR(64) = REPLACE(NEWID(),'-','');
EXEC('创建索引 IX_'+@NewId+' ON #Table (ColA,ColB) INCLUDE (ColZ)');