ÍndicesIndexes

En este tema se aplica a: SíSQL ServerSíbase de datos de SQL Azurenoalmacenamiento de datos de SQL Azure ningún Almacenamiento de datos paralelosTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Tipos de índices disponiblesAvailable index types

En la tabla siguiente se indican los tipos de índice disponibles en SQL ServerSQL Server y se proporcionan vínculos a información adicional.The following table lists the types of indexes available in SQL ServerSQL Server and provides links to additional information.

Tipo de índiceIndex type DescriptionDescription Información adicionalAdditional information
HashHash Con un índice hash, se accede a los datos a través de una tabla hash en memoria.With a hash index, data is accessed through an in-memory hash table. Los índices hash utilizan una cantidad fija de memoria, que es una función del número de depósitos.Hash indexes consume a fixed amount of memory, which is a function of the bucket count. Directrices para usar índices en las tablas con optimización para memoriaGuidelines for Using Indexes on Memory-Optimized Tables

Directrices para diseñar índices de hashHash Index Design Guidelines
Índice no agrupado optimizado para memoriamemory-optimized Nonclustered Para los índices no clúster optimizados para memoria, el consumo de memoria depende del número de filas y del tamaño de las columnas de clave de índice.For memory-optimized nonclustered indexes, memory consumption is a function of the row count and the size of the index key columns Directrices para usar índices en las tablas con optimización para memoriaGuidelines for Using Indexes on Memory-Optimized Tables

Directrices para diseñar índices no agrupados optimizados para memoriaMemory-Optimized Nonclustered Index Design Guidelines
ClústerClustered Un índice clúster ordena y almacena las filas de datos de la tabla o vista por orden en función de la clave del índice clúster.A clustered index sorts and stores the data rows of the table or view in order based on the clustered index key. El índice clúster se implementa como una estructura de árbol b que admite la recuperación rápida de las filas a partir de los valores de las claves del índice clúster.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. Índices agrupados y no agrupados descritosClustered and Nonclustered Indexes Described

Crear índices clústerCreate Clustered Indexes

Directrices para diseñar índices agrupadosClustered Index Design Guidelines
No agrupadoNonclustered Los índices no clúster se pueden definir en una tabla o vista con un índice clúster o en un montón.A nonclustered index can be defined on a table or view with a clustered index or on a heap. Cada fila del índice no clúster contiene un valor de clave no agrupada y un localizador de fila.Each index row in the nonclustered index contains the nonclustered key value and a row locator. Este localizador apunta a la fila de datos del índice clúster o el montón que contiene el valor de clave.This locator points to the data row in the clustered index or heap having the key value. Las filas del índice se almacenan en el mismo orden que los valores de la clave del índice, pero no se garantiza que las filas de datos estén en un determinado orden a menos que se cree un índice clúster en la tabla.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. Índices agrupados y no agrupados descritosClustered and Nonclustered Indexes Described

Crear índices no agrupadosCreate Nonclustered Indexes

Directrices para diseñar índices no agrupadosNonclustered Index Design Guidelines
ÚnicoUnique Un índice único se asegura de que la clave de índice no contenga valores duplicados y, por tanto, cada fila de la tabla o vista sea en cierta forma única.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.

La unicidad puede ser una propiedad tanto de índices clúster como de índices no clúster.Uniqueness can be a property of both clustered and nonclustered indexes.
Crear índices únicosCreate Unique Indexes

Directrices para diseñar índices únicosUnique Index Design Guidelines
columnstoreColumnstore El índice de almacén de columnas en memoria almacena y administra los datos mediante el almacenamiento de datos basado en columnas y el procesamiento de consultas basado en columnas.An in-memory columnstore index stores and manages data by using column-based data storage and column-based query processing.

Los índices de almacén de columnas funcionan correctamente para las cargas de trabajo de almacenamiento de datos que ejecutan principalmente cargas masivas y consultas de solo lectura.Columnstore indexes work well for data warehousing workloads that primarily perform bulk loads and read-only queries. Use el índice de almacén de columnas para aumentar hasta en diez veces el rendimiento de las consultas en relación con el almacenamiento tradicional orientado a filas, y hasta en siete veces la compresión de datos en relación con el tamaño de los datos sin comprimir.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.
Guía de índices de almacén de columnasColumnstore Indexes Guide

Directrices para diseñar índices de almacén de columnasColumnstore Index Design Guidelines
Índice con columnas incluidasIndex with included columns Índice no clúster que se extiende para incluir columnas sin clave además de las columnas de clave.A nonclustered index that is extended to include nonkey columns in addition to the key columns. Crear índices con columnas incluidasCreate Indexes with Included Columns
Índice en columnas calculadasIndex on computed columns Índice de una columna que se deriva del valor de una o varias columnas, o algunas entradas deterministas.An index on a column that is derived from the value of one or more other columns, or certain deterministic inputs. Índices en columnas calculadasIndexes on Computed Columns
FiltradoFiltered Índice no clúster optimizado, especialmente indicado para cubrir consultas que seleccionan de un subconjunto bien definido de datos.An optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. Utiliza un predicado de filtro para indizar una parte de las filas de la tabla.It uses a filter predicate to index a portion of rows in the table. Un índice filtrado bien diseñado puede mejorar el rendimiento de las consultas y reducir los costos de almacenamiento del índice en relación con los índices de tabla completa, así como los costos de mantenimiento.A well-designed filtered index can improve query performance, reduce index maintenance costs, and reduce index storage costs compared with full-table indexes. Crear índices filtradosCreate Filtered Indexes

Directrices para diseñar índices filtradosFiltered Index Design Guidelines
EspacialSpatial Un índice espacial permite realizar de forma más eficaz determinadas operaciones en objetos espaciales (datos espaciales) en una columna del tipo de datos de 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. El índice espacial reduce el número de objetos a los que es necesario aplicar las operaciones espaciales, que son relativamente costosas.The spatial index reduces the number of objects on which relatively costly spatial operations need to be applied. Información general sobre los índices espacialesSpatial Indexes Overview
XMLXML Representación dividida y persistente de los objetos binarios grandes (BLOB) XML de la columna de tipo de datos xml.A shredded, and persisted, representation of the XML binary large objects (BLOBs) in the xml data type column. Índices XML (SQL Server)XML Indexes (SQL Server)
Texto completoFull-text Tipo especial de índice funcional basado en símbolos (token) que compila y mantiene el motor de texto completo de Microsoft para 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. Proporciona la compatibilidad adecuada para búsquedas de texto complejas en datos de cadenas de caracteres.It provides efficient support for sophisticated word searches in character string data. Rellenar índices de texto completoPopulate Full-Text Indexes

Guía de diseño de índices de SQL Server Opción SORT_IN_TEMPDB para índicesSQL Server Index Design Guide SORT_IN_TEMPDB Option For Indexes
Deshabilitar índices y restriccionesDisable Indexes and Constraints
Habilitar índices y restriccionesEnable Indexes and Constraints
Cambiar el nombre de los índicesRename Indexes
Establecer opciones de índiceSet Index Options
Disk Space Requirements for Index DDL OperationsDisk Space Requirements for Index DDL Operations
Reorganizar y volver a generar índicesReorganize and Rebuild Indexes
Especificar el factor de relleno para un índiceSpecify Fill Factor for an Index
Guía de arquitectura de páginas y extensiones Índices agrupados y no agrupados descritosPages and Extents Architecture Guide Clustered and Nonclustered Indexes Described