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

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 DescrizioneDescription 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
Indici non cluster ottimizzati per la memoriamemory-optimized nonclustered indexes 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
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 clusterClustered and Nonclustered Indexes Described

Creare indici clusterCreate Clustered Indexes
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
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
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

Uso di indici columnstore non clusterUsing Nonclustered Columnstore Indexes
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
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. Popolare gli indici full-textPopulate Full-Text Indexes

Opzione SORT_IN_TEMPDB per gli indiciSORT_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

Requisiti di spazio su disco per operazioni DLL sugli indiciDisk 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 extentPages and Extents Architecture Guide

Vedere ancheSee Also

Descrizione di indici cluster e non clusterClustered and Nonclustered Indexes Described