Je kunt maak als volgt een niet-geclusterde index.
DECLARE @t TABLE (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT,
UNIQUE (Col1, Col2, PK))
Als de bedoeling is dat Col1, Col2
zijn zelf uniek verwijder dan PK
uit de kolomlijst.
Hoewel het op het eerste gezicht lijkt alsof dit een extra kolom heeft toegevoegd in (PK
) de indexstructuur zal hetzelfde zijn als het maken van een niet-unieke index op slechts Col1, Col2
op een #temp
tafel.
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)
voor een niet-unieke niet-geclusterde index voegt SQL Server sowieso altijd impliciet de CI-sleutel toe aan de NCI-sleutel. Dit laat het gewoon expliciet zien.
Zie Kalen Delaney Meer over Niet-geclusterde indexsleutels