puoi creare un indice non cluster come segue.
DECLARE @t TABLE (
PK INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
Col1 INT,
Col2 INT,
UNIQUE (Col1, Col2, PK))
Se l'intenzione è quella Col1, Col2
sono univoci, quindi rimuovi PK
dall'elenco delle colonne.
Sebbene appaia al valore nominale come se questo avesse aggiunto una colonna aggiuntiva in (PK
) la struttura dell'indice sarà la stessa della creazione di un indice non univoco solo su Col1, Col2
su un #temp
tabella.
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)
per un indice non univoco non cluster, SQL Server aggiunge sempre la chiave CI alla chiave NCI in modo implicito. Questo lo mostra esplicitamente.
Vedi Kalen Delaney Ulteriori informazioni Chiavi di indice non cluster