Limitaciones de la característica de índices que faltan

La característica de índices que faltan tiene las siguientes limitaciones:

  • No se ha diseñado para ajustar una configuración de índice.

  • No puede reunir estadísticas de más de 500 grupos de índices que faltan.

  • No especifica un orden para las columnas que se van a utilizar en un índice.

  • En las consultas que implican sólo predicados de desigualdad, devuelve una información de costos menos precisa.

  • Sólo devuelve columnas de inclusión para algunas consultas, por lo que debe seleccionar manualmente las columnas de clave de índice.

  • Sólo devuelve información sin procesar sobre columnas en las que podrían faltar índices.

  • No sugiere índices filtrados.

  • Puede devolver costos diferentes para el mismo grupo de índices que faltan que aparece varias veces en planes de presentación XML.

  • No tiene en cuenta planes de consulta triviales.

Las siguientes secciones proporcionan más información sobre estas limitaciones.

Ajustar una configuración de índice

La característica de índices que faltan es una herramienta simple para buscar índices que faltan que podrían mejorar significativamente el rendimiento de la consulta. No proporciona información adecuada para ajustar una configuración de índice. Utilice el Asistente para la optimización de Motor de base de datos para tal fin. Para obtener más información sobre el Asistente para la optimización de Motor de base de datos, vea Optimizar el diseño físico de las bases de datos y Características relacionadas con la optimización de consultas.

Número máximo de grupos de índices que faltan

Se recopilan las estadísticas para un máximo de 500 grupos de índices que faltan. Una vez que se alcanza este límite, no se recopilan datos de ningún otro grupo de índices que faltan. Este límite no es un parámetro ajustable y no se puede cambiar.

Orden de las columnas de índice

La característica de índices que faltan no considera el orden óptimo cuando se sugiere un índice. Observe el ejemplo de consulta siguiente:

SELECT column_a, column_b
FROM table_1
WHERE column_a < 10000
AND column_b < 10000
ORDER BY column_b, column_a

La característica de índices que faltan puede sugerir un índice y enumera column_a antes de column_b, aunque un orden más provechoso sería column_b, column_a, el cual coincide con el orden de la consulta. Al crear la instrucción de lenguaje de definición de datos (DDL) para implementar un índice que falta, elija el orden óptimo examinando las consultas individuales de carga de trabajo. Para obtener más información sobre cómo ordenar columnas en instrucciones CREATE INDEX según los resultados recibidos de la característica de índices que faltan, vea Utilizar información de índices que faltan para escribir instrucciones CREATE INDEX.

Consultas que implican sólo predicados de desigualdad

La característica de índices que faltan utiliza un modelo simplista a fin de generar información de costos para consultas que implican solamente predicados de desigualdad. En consecuencia, la información de costos que se devuelve de estas consultas puede ser menos precisa que la información devuelta para consultas que implican igualdades. Observe el ejemplo de consulta siguiente, que no contiene predicados de igualdad.

SELECT *
FROM table_1
WHERE column_a > -1
AND column_b > -1

Esta consulta de ejemplo sólo contiene un predicado de desigualdad (WHERE column_a > -1 AND column_b > -1). Suponga que todas las filas de table_1 cumplen las condiciones de los predicados column_a > -1 y column_b > -1. En este caso, la característica de índices que faltan podría recomendar incorrectamente un índice en column_a y en column_b. En este caso, es posible que también sean incorrectos los números del impacto asociado suministrados por la vista de administración dinámica sys.dm_db_missing_indexes_group_stats.

Devoluciones que sólo incluyen columnas de inclusión para algunas consultas

A veces la característica sólo proporciona información del uso de columnas para columnas de inclusión. Por ejemplo, la característica podría informar sobre columnas de igualdad = { }, columnas de desigualdad = { } y columnas de inclusión = {b, c, …}. En este caso, se debe seleccionar una de las columnas de inclusión para la columna de clave de índice. Use la información de índices que faltan devuelta para otras consultas que se benefician de algunas de las mismas columnas para determinar cuál de las columnas de inclusión se debe seleccionar para la clave de índice.

Devoluciones que sólo incluyen información sin procesar

La característica de índices que faltan devuelve información sin procesar sobre columnas en las que podrían faltar índices. Esto significa que la información devuelta podría requerir un procesamiento adicional antes de que pueda utilizarla para crear un índice.

Por ejemplo, si la columna es una columna calculada, y el cálculo es no determinista o impreciso, la instrucción CREATE INDEX de esa columna generará un error. En el caso de un cálculo impreciso, primero, debe hacer que la columna sea permanente y, luego, puede crear el índice.

Devoluciones que incluyen costos diferentes para el mismo grupo de índices que faltan en planes de presentación XML

Los grupos de índices que faltan pueden aparecer varias veces en planes de presentación XML con un costo diferente cada vez que aparece el grupo de índices que faltan. Esto puede ocurrir cuando partes diferentes de una única consulta se benefician de manera diferente del mismo grupo de índices que faltan.

Considere la consulta de ejemplo siguiente:

SELECT i.CustomerID, c.ModifiedDate, City
FROM NewIndividual i JOIN NewCustomer c ON i.CustomerID = c.CustomerID
                    AND c.CustomerType = 'I'
          JOIN NewCustomerAddress ca ON ca.CustomerID = c.CustomerID
          JOIN NewAddress a ON a.AddressID = ca.AddressID
WHERE i.CustomerID = 16701

En esta consulta, las dos condiciones de combinación diferentes de la columna CustomerID podrían producir dos grupos idénticos de índices que faltan con el mismo índice en la columna NewIndividual.CustomerID. En este caso, la vista de administración dinámica sys.dm_db_missing_index_groups sólo tendrá una fila para el grupo de índices que faltan. Sin embargo, el grupo de índices que faltan aparecerá varias veces en los resultados del plan de presentación XML, con costos diferentes para las distintas condiciones de combinación.