Виеможете създайте неклъстъриран индекс, както следва.
DECLARE @t TABLE (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT,
UNIQUE (Col1, Col2, PK))
Ако намерението е Col1, Col2
сами по себе си са уникални, след което премахнете PK
от списъка с колони.
Въпреки че изглежда по номинална стойност, сякаш това е добавило допълнителна колона в (PK
) структурата на индекса ще бъде същата като създаването на неуникален индекс само върху Col1, Col2
на #temp
таблица.
CREATE TABLE #T (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT)
/*PK added in to end of key anyway*/
CREATE NONCLUSTERED INDEX ix ON #T(Col1, Col2)
за неуникален неклъстерен индекс SQL Server винаги добавя имплицитно CI ключа към NCI ключа така или иначе. Това просто го показва изрично.
Вижте Kalen Delaney Повече за Неклъстерирани индексни ключове