IndiciIndexes

In questo argomento si applica a: SìSQL ServerSìDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Tipi di indice disponibiliAvailable index types

Nella tabella seguente sono inclusi i tipi di indici disponibili in SQL ServerSQL Server e i collegamenti a ulteriori informazioni.The following table lists the types of indexes available in SQL ServerSQL Server and provides links to additional information.

Tipo di indiceIndex type DescriptionDescription Informazioni aggiuntiveAdditional information
HashHash Con un indice hash l'accesso ai dati viene eseguito tramite una tabella hash in memoria.With a hash index, data is accessed through an in-memory hash table. Gli indici hash utilizzano una quantità di memoria fissa (una funzione del numero di bucket).Hash indexes consume a fixed amount of memory, which is a function of the bucket count. Linee guida per l'uso di indici nelle tabelle con ottimizzazione per la memoriaGuidelines for Using Indexes on Memory-Optimized Tables

Linee guida per la progettazione di indici hashHash Index Design Guidelines
Non cluster ottimizzato per la memoriamemory-optimized Nonclustered 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 indiceFor memory-optimized nonclustered indexes, memory consumption is a function of the row count and the size of the index key columns Linee guida per l'uso di indici nelle tabelle con ottimizzazione per la memoriaGuidelines for Using Indexes on Memory-Optimized Tables

Linee guida per la progettazione di indici non cluster ottimizzati per la memoriaMemory-Optimized Nonclustered Index Design Guidelines
ClusterClustered Un indice cluster ordina e archivia le righe di dati della tabella o della vista in base alle chiavi di indice cluster.A clustered index sorts and stores the data rows of the table or view in order based on the clustered index key. 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.The clustered index is implemented as a B-tree index structure that supports fast retrieval of the rows, based on their clustered index key values. Descrizione di indici cluster e non cluster.Clustered and Nonclustered Indexes Described

Creare indici clusterCreate Clustered Indexes

Linee guida per la progettazione di indici clusterClustered Index Design Guidelines
Non clusterNonclustered Un indice non cluster può essere definito in una tabella o vista con un indice cluster o in un heap.A nonclustered index can be defined on a table or view with a clustered index or on a heap. Ogni riga di indice nell'indice non cluster contiene il valore della chiave non cluster e un indicatore di posizione delle righe.Each index row in the nonclustered index contains the nonclustered key value and a row locator. Questo indicatore punta alla riga di dati nell'indice cluster o nell'heap contenente il valore della chiave.This locator points to the data row in the clustered index or heap having the key value. 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.The rows in the index are stored in the order of the index key values, but the data rows are not guaranteed to be in any particular order unless a clustered index is created on the table. Descrizione di indici cluster e non clusterClustered and Nonclustered Indexes Described

Creare indici non clusterCreate Nonclustered Indexes

Linee guida per la progettazione di indici non clusterNonclustered Index Design Guidelines
UnivocoUnique 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.A unique index ensures that the index key contains no duplicate values and therefore every row in the table or view is in some way unique.

L'univocità può essere una proprietà sia degli indici cluster che degli indici non cluster.Uniqueness can be a property of both clustered and nonclustered indexes.
Creare indici univociCreate Unique Indexes

Linee guida per la progettazione di indici univociUnique Index Design Guidelines
columnstoreColumnstore 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.An in-memory columnstore index stores and manages data by using column-based data storage and column-based query processing.

Gli indici columnstore sono ideali per i carichi di lavoro di data warehousing che eseguono principalmente caricamenti bulk e query di sola lettura.Columnstore indexes work well for data warehousing workloads that primarily perform bulk loads and read-only queries. 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.Use the columnstore index to achieve up to 10x query performance gains over traditional row-oriented storage, and up to 7x data compression over the uncompressed data size.
Guida agli indici columnstoreColumnstore Indexes Guide

Linee guida per la progettazione di indici columnstoreColumnstore Index Design Guidelines
Indice con colonneIndex with included columns Indice non cluster esteso per includere colonne non chiave oltre alle colonne chiave.A nonclustered index that is extended to include nonkey columns in addition to the key columns. Creare indici con colonne incluseCreate Indexes with Included Columns
Indice per le colonne calcolateIndex on computed columns Indice in una colonna derivato dal valore di una o più altre colonne, o da input deterministici specifici.An index on a column that is derived from the value of one or more other columns, or certain deterministic inputs. Indici per le colonne calcolateIndexes on Computed Columns
FiltratoFiltered Indice non cluster ottimizzato, particolarmente indicato per coprire query che selezionano dati da un subset ben definito.An optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. Un indice di questo tipo utilizza un predicato del filtro per indicizzare una parte di righe nella tabella.It uses a filter predicate to index a portion of rows in the table. 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.A well-designed filtered index can improve query performance, reduce index maintenance costs, and reduce index storage costs compared with full-table indexes. Creare indici filtratiCreate Filtered Indexes

Linee guida per la progettazione di indici filtratiFiltered Index Design Guidelines
SpazialeSpatial 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 .A spatial index provides the ability to perform certain operations more efficiently on spatial objects (spatial data) in a column of the geometry data type. nonché di ridurre il numero di oggetti sui quali è necessario applicare operazioni spaziali relativamente costose.The spatial index reduces the number of objects on which relatively costly spatial operations need to be applied. Panoramica degli indici spazialiSpatial Indexes Overview
XMLXML Rappresentazione suddivisa e persistente degli oggetti binari di grandi dimensioni (BLOB, Binary Large OBject) XML nella colonna con tipo di dati xml.A shredded, and persisted, representation of the XML binary large objects (BLOBs) in the xml data type column. Indici XML (SQL Server)XML Indexes (SQL Server)
Full-textFull-text Tipo speciale di indice funzionale basato su token compilato e gestito dal motore di ricerca full-text Microsoft per SQL ServerSQL Server.A special type of token-based functional index that is built and maintained by the Microsoft Full-Text Engine for SQL ServerSQL Server. Questo indice offre supporto efficace per le ricerche di testo complesse nelle stringhe di caratteri.It provides efficient support for sophisticated word searches in character string data. Popolamento degli indici full-textPopulate Full-Text Indexes

Guida per la progettazione di indici di SQL Server Opzione SORT_IN_TEMPDB per gli indiciSQL Server Index Design Guide SORT_IN_TEMPDB Option For Indexes
Disabilitare indici e vincoliDisable Indexes and Constraints
Abilitare indici e vincoliEnable Indexes and Constraints
Rinominare indiciRename Indexes
Impostare le opzioni di indiceSet Index Options
Disk Space Requirements for Index DDL OperationsDisk Space Requirements for Index DDL Operations
Riorganizzare e ricompilare gli indiciReorganize and Rebuild Indexes
Specificare un fattore di riempimento per un indiceSpecify Fill Factor for an Index
Guida sull'architettura di pagina ed extent Descrizione di indici cluster e non clusterPages and Extents Architecture Guide Clustered and Nonclustered Indexes Described