możesz utwórz indeks nieklastrowany w następujący sposób.
DECLARE @t TABLE (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT,
UNIQUE (Col1, Col2, PK))
Jeśli intencją jest, aby Col1, Col2
są unikalne, a następnie usuń PK
z listy kolumn.
Chociaż wygląda na to, że jest to wartość nominalna, jakby dodano dodatkową kolumnę w (PK
) struktura indeksu będzie taka sama, jak przy tworzeniu nieunikalnego indeksu tylko dla Col1, Col2
na #temp
tabeli.
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)
dla nieunikatowego indeksu nieklastrowanego SQL Server zawsze i tak niejawnie dodaje klucz CI do klucza NCI. To tylko wyraźnie to pokazuje.
Zobacz Kalen Delaney Więcej informacji Nieklastrowane klucze indeksujące