martes, 8 de septiembre de 2015

13. Plan de ejecución (I)

Como desarrolladores muchas veces perdemos la visión, sentimos que el código lo es todo y que todo lo que no es código va más allá de nuestras funciones.

¿Por qué digo esto?

Por un tema llamado base de datos, muchas veces como desarrolladores pensamos que el sistema es todo aquello que no es la base de datos, lo cual es un error, ya que nosotros nos dedicamos a procesar, a interpretar y a darle un valor a la información.

En cualquiera que sea nuestra área, siempre estamos trabajando con la información, por ello no debemos perder el contexto de la base de datos.

Tenemos un gran defecto, que se ve sobre todo en desarrolladores novatos, confiamos demasiado en la velocidad de los sistemas actuales, y poco en si el código que estamos empleando es el mejor para el caso en el que nos encontramos.

A este punto es al que me trae el artículo del día de hoy.

¿Si es un blog de desarrollo, por que analizar los Queries?, bueno porque al final si la base de datos no se comporta de la mejor manera, el sistema que estamos desarrollando no reunirá las expectativas para un cliente.

La herramienta que usaremos para ver esto, son los planes de ejecución. ¿Qué es un plan de ejecución?, es una herramienta que nos proporciona SQL Management Studio para comprender den forma gráfica (en realidad es un XML) que es lo que hace un Query que se ejecuta en la base de datos para que nosotros obtengamos un resultado en específico.

Desde un plan de ejecución, nosotros podemos ver ¿Qué elemento consume un mayor tiempo de procesador?, verificar si requerimos algún cambio a la estructura de la base de datos (índices, claves primarias, foráneas) o simplemente comparar cual de 2 queries es el mejor para resolver una situación.

¿Cómo lo generamos?

Generar un plan de ejecución es muy sencillo, lo único que debemos hacer es entrar a SQL Management Studio y escribir el query que queremos tomar.

Ahora bien tenemos 2 tipos de plan de ejecución el estimado, que se presenta antes de la ejecución del Query, y el Real.

Mi recomendación es que siempre trabajemos con el real, este se muestra una vez que el query termino su ejecución y nos muestra que es lo que realmente hizo la base de datos.

Bien, creemos un ejemplo de un plan de ejecución:


Paso 1: Escribamos un pequeño query


Paso 2: Activemos el plan de ejecución, para eso es necesario ir a menú consultas (query) y activar la opción Desplegar plan de ejecución Real (Include Actual Execution Plan)


Paso 3 Ejecutemos el Query

Al ejecutarlo nos aparece una nueva pestaña


Que muestra el plan de ejecución



Ahora falta analizarlo lo cual será el tema del próximo artículo, hasta pronto

No hay comentarios.:

Publicar un comentario