Forzar índices en SQL Server

Cuando ejecutamos una consulta en SQL Server éste realiza un plan de ejecución, normalmente intentando que la consulta funcione lo más rápido posible. Por desgracia los ordenadores no siempre son capaces de tomar buenas decisiones y es posible que su plan no sea óptimo.

Recientemente nos ha pasado al realizar una consulta sobre una base de datos de cuatro millones de registros; a pesar de existir un índice el SQL Server no lo utiliza y tarda más de medio minuto. Eligiendo el índice correcto el tiempo de ejecución se reduce a 12 segundos.

¿Cómo hacerlo? De la manera siguiente:

select * from MiTabla (INDEX=IX_MiIndice) where tralara=’XXX’

Es conveniente probar en el analizador de consultas que realmente mejoramos la velocidad.