Optimizando consultas en SQL Server

SQL Server Managment Studio es, y no me cansaré de decirlo, la mejor herramienta para gestión de bases de datos que existe, si MySQL tuviese algo similar sería genial. Una de las cosas que podemos hacer con SQL Server Managment Studio es optimizar y analizar nuestros índices.

Como diría el mismo Microsoft:

SQL Server Management Studio es una herramienta gráfica interactiva que permite a un administrador o a un programador de bases de datos escribir consultas, ejecutar simultáneamente varias consultas, ver los resultados, analizar el plan de consultas y recibir asistencia para mejorar el rendimiento de las consultas.

Optimizando consultas en SQL Server

Una de las opciones en SQL Server es ejecutar una consulta y ver su plan de ejecución

Sin-título-1

¿Qué es un plan de ejecución?

Las opciones del Plan de ejecución muestran gráficamente los métodos de recuperación de datos elegidos por el optimizador de consultas de SQL Server. El plan de ejecución gráfico utiliza iconos para representar la ejecución de instrucciones y consultas específicas en SQL Server, muy útil para comprender las características de rendimiento de una consulta. SQL Server Management Studio muestra los índices que faltan, por lo que exige al optimizador de consultas que estime la selección de los datos y, después, permite crear fácilmente estos índices faltantes.

¿Cómo crear y ver los índices que faltan?

Al pulsar el botón anterior teniendo una consulta seleccionada en la pantalla de resultados en vez de ver los datos veremos el plan de ejecución de la consulta como tal y las sugerencias de índices:

Sin-título-1

Si observamos detenidamente veremos en el medio de la pantalla un texto en verde que nos índica que esta consulta sería posible optimizarla con un índice, nos ponemos encima de este texto y damos clic derecho y en el menú contextual pulsamos Detalles de índices que faltan:

Sin-título-2

En la nueva ventana veremos comentada la sentencia SQL para crear el índice sugerido.

Intentaré en otros post describir cómo analizar el uso que hacemos de los índices en SQL Server.

Comentarios