Indici
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Tipi di indice disponibili
Nella tabella seguente sono riportati i tipi di indici disponibili in SQL Server e i collegamenti a ulteriori informazioni.
Tipo di indice | Descrizione | Informazioni aggiuntive |
---|---|---|
Hash | Con un indice hash l'accesso ai dati viene eseguito tramite una tabella hash in memoria. Gli indici hash utilizzano una quantità di memoria fissa (una funzione del numero di bucket). | Linee guida per l'uso di indici nelle tabelle con ottimizzazione per la memoria Linee guida per la progettazione di indici hash |
Non cluster ottimizzato per la memoria | Per gli indici non cluster ottimizzati per la memoria, l'utilizzo della memoria è una funzione del conteggio delle righe e della dimensione delle colonne chiave di indice | Linee guida per l'uso di indici nelle tabelle con ottimizzazione per la memoria Linee guida per la progettazione di indici non cluster ottimizzati per la memoria |
Cluster | Un indice cluster ordina e archivia le righe di dati della tabella o della vista in base alle chiavi di indice cluster. L'indice cluster viene implementato come albero B che supporta il recupero rapido delle righe in base ai rispettivi valori delle chiavi di indice cluster. | Descrizione di indici cluster e non cluster. Creare indici cluster Linee guida per la progettazione di indici cluster |
Non cluster | Un indice non cluster può essere definito in una tabella o vista con un indice cluster o in un heap. Ogni riga di indice nell'indice non cluster contiene il valore della chiave non cluster e un indicatore di posizione delle righe. Questo indicatore punta alla riga di dati nell'indice cluster o nell'heap contenente il valore della chiave. Le righe dell'indice vengono archiviate in base all'ordine dei valori delle chiavi di indice, ma non è possibile garantire che le righe di dati abbiano un ordine specifico, a meno che nella tabella non venga creato un indice cluster. | Descrizione di indici cluster e non cluster. Creare indici non cluster Linee guida per la progettazione di indici non cluster |
Unica | Un indice univoco garantisce che la chiave di indice non contenga alcun valore duplicato e che pertanto ogni riga della tabella o della vista sia univoca. L'univocità può essere una proprietà sia degli indici cluster che degli indici non cluster. |
Creare indici univoci Linee guida per la progettazione di indici univoci |
Columnstore | Un indice columnstore in memoria consente di archiviare e gestire i dati tramite l'archiviazione dei dati basata su colonne e l'elaborazione delle query basata su colonne. Gli indici columnstore sono ideali per i carichi di lavoro di data warehousing che eseguono principalmente caricamenti bulk e query di sola lettura. Usare l'indice columnstore per migliorare fino a 10 volte le prestazioni delle query rispetto all'archiviazione tradizionale orientata alle righe e fino a 7 volte la compressione dei dati rispetto alle dimensioni dei dati non compressi. |
Guida agli indici columnstore Linee guida per la progettazione di indici columnstore |
Indice con colonne | Indice non cluster esteso per includere colonne non chiave oltre alle colonne chiave. | Creare indici con colonne incluse |
Indice per le colonne calcolate | Indice in una colonna derivato dal valore di una o più altre colonne, o da input deterministici specifici. | Indici per le colonne calcolate |
Filtrato | Indice non cluster ottimizzato, particolarmente indicato per coprire query che selezionano dati da un subset ben definito. Un indice di questo tipo utilizza un predicato del filtro per indicizzare una parte di righe nella tabella. Se confrontato con indici di tabella completa, un indice filtrato progettato correttamente consente di migliorare le prestazioni di esecuzione delle query e di ridurre i costi di manutenzione e di archiviazione dell'indice stesso. | Creare indici filtrati Linee guida per la progettazione di indici filtrati |
Spatial | Un indice spaziale consente di eseguire in modo più efficiente determinate operazioni su oggetti spaziali (dati spaziali) in una colonna con tipo di dati geometry . nonché di ridurre il numero di oggetti sui quali è necessario applicare operazioni spaziali relativamente costose. | Panoramica degli indici spaziali |
XML | Rappresentazione suddivisa e persistente degli oggetti binari di grandi dimensioni (BLOB, Binary Large OBject) XML nella colonna con tipo di dati xml. | Indici XML (SQL Server) |
Full-text | Un tipo speciale di indice funzionale basato su token compilato e gestito dal motore di ricerca full-text Microsoft per SQL Server. Questo indice offre supporto efficace per le ricerche di testo complesse nelle stringhe di caratteri. | Popolamento degli indici full-text |
Nota
Nella documentazione di SQL Server viene usato in modo generico il termine albero B in riferimento agli indici. Negli indici rowstore, SQL Server implementa un albero B+. Ciò non si applica a indici columnstore o ad archivi dati in memoria. Per altre informazioni, vedere Architettura e guida per la progettazione degli indici di SQL Server e Azure SQL.
Passaggi successivi
- Guida per la progettazione di indici di SQL Server
- Opzione SORT_IN_TEMPDB per gli indici
- Disabilitare indici e vincoli
- Abilitare indici e vincoli
- Rinominare indici
- Impostare le opzioni di indice
- Requisiti di spazio su disco per operazioni DDL sugli indici
- Riorganizzare e ricompilare gli indici
- Specificare un fattore di riempimento per un indice
- Guida sull'architettura di pagina ed extent
- Descrizione di indici cluster e non cluster.