Du kan opret et ikke-klynget indeks som følger.
DECLARE @t TABLE (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT,
UNIQUE (Col1, Col2, PK))
Hvis hensigten er, at Col1, Col2
selv er unikke, fjern derefter PK
fra kolonnelisten.
Selvom det ser ud til pålydende, som om dette har tilføjet en ekstra kolonne i (PK
) indeksstrukturen vil være den samme som at oprette et ikke-entydigt indeks på kun Col1, Col2
på en #temp
tabel.
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)
for et ikke-entydigt ikke-klynget indeks tilføjer SQL Server altid CI-nøglen til NCI-nøglen implicit alligevel. Dette viser det blot eksplicit.
Se Kalen Delaney Mere om Ikke-klyngede indeksnøgler