Crear índices no agrupados
Se pueden crear varios índices no agrupados en una tabla o vista indizada. Normalmente, los índices no agrupados se crean para mejorar el rendimiento de las consultas usadas con frecuencia y que no cubre el índice agrupado.
Implementaciones habituales
Los índices no agrupados se implementan de las formas siguientes:
- Restricciones PRIMARY KEY y UNIQUE
Cuando se crea una restricción PRIMARY KEY, se crea automáticamente un índice agrupado único en las columnas si aún no existe un índice agrupado en la tabla o no se ha especificado un índice no agrupado. La columna de clave principal no puede permitir valores NULL.
Cuando cree una restricción UNIQUE, se creará un índice no agrupado único para exigir una restricción UNIQUE de forma predeterminada. Si aún no existe ningún índice agrupado en la tabla, puede especificar un índice agrupado único. Para obtener más información, vea Restricciones PRIMARY KEY y Restricciones UNIQUE. - Índice independiente de una restricción
De forma predeterminada, se crea un índice no agrupado si no hay ninguno agrupado especificado. El número máximo de índices no agrupados que se pueden crear por cada tabla es de 249. Esto incluye los índices creados por las restricciones PRIMARY KEY o UNIQUE, pero no los índices XML. - Índice no agrupado en una vista indizada
Una vez creado un índice agrupado único en una vista, se pueden crear índices no agrupados. Para obtener más información, vea Crear vistas indizadas.
Índices con columnas incluidas
Al crear un índice no agrupado para abarcar una consulta, se pueden incluir columnas sin clave en la definición del índice para abarcar las columnas de la consulta que no se utilizan como columnas de búsqueda principales. Las mejoras en el rendimiento se consiguen porque el optimizador de consultas puede localizar todos los datos de columnas necesarios del índice sin tener acceso a la tabla ni al índice agrupado. Para obtener más información, vea Índice con columnas incluidas.
Requisitos de espacio en disco
Para obtener información acerca de los requisitos de espacio en disco para los índices no agrupados, vea Determinar requisitos de espacio en disco del índice.
Consideraciones de rendimiento
Aunque es importante que el índice incluya todas las columnas utilizadas por la consulta, evite agregar columnas innecesarias. El hecho de agregar demasiadas columnas de índice, con o sin clave, puede tener las siguientes consecuencias en el rendimiento:
- Cabrán menos filas de índice en una página, por lo que aumentará la E/S de disco y se reducirá la eficacia de la caché.
- Se necesitará más espacio en disco para almacenar el índice.
- Puede que el mantenimiento del índice haga aumentar el tiempo necesario para realizar operaciones de modificación, inserción, actualización o eliminación en la tabla subyacente o la vista indizada.
Debe determinar si la mejora del rendimiento de las consultas compensa el efecto en el rendimiento durante la modificación de datos y en los requisitos de espacio en disco adicionales. Para obtener más información acerca de la evaluación del rendimiento de las consultas, vea Optimizar consultas.
Para crear una restricción PRIMARY KEY o UNIQUE al crear una tabla
Para crear una restricción PRIMARY KEY o UNIQUE en una tabla existente
Para crear un índice
Vea también
Conceptos
Crear índices (motor de base de datos)
Directrices para diseñar índices no agrupados