Está en la página 1de 2

Planes de ejecución de texto

Los planes de ejecución gráficos son muy útiles porque son muy fáciles de leer.
Sin embargo, gran parte de los datos de los operadores no son inmediatamente
visibles, para ver el conjunto completo tenemos que echar un vistazo a la
ventana de propiedades. Pero podemos ver el plan completo conplanes de
ejecución de XML.

Antes de XML se utilizaban los planes de texto, estos actualmente están es


desuso pero veremos algunas instrucciones por compatibilidad. Las nuevas
versiones de SQL Server sólo se proporcionarán planes de texto en formato
XML.

Para ver el plan de ejecución estimado de texto, sólo hay que escribir el
comando.

SET SHOWPLAN_ALL ON;

Esta instrucción pone en modo on a SQL Server para recopilar la información


de ejecución para todas las sentencias SQL posteriores, pero esas
declaraciones en realidad no se han ejecutado aun. Por lo tanto, tenemos el
plan estimado. Es muy importante poner SHOWPLAN_ALL a OFF después de
que capturar la información que se necesita. Si se nos olvidamos de esto no se
ejecutarán las instrucciones SQL server.

A partir de este momento cualquier sentencia que ejecutemos mostrará su plan


estimado de ejecución.

Para desactivarlo basta con ejecutar el comando

SET SHOWPLAN_ALL OFF;

Obtener el plan textual real

Para obtener el plan de texto real ejecutamos la sentencia

SET STATISTICS PROFILE ON

A partir de este momento cualquier sentencia que ejecutemos vendrá


acompañada de su plan real de ejecución.
Para desactivarlo

SET STATISTICS PROFILE OFF

Interpretación de los planes de texto


Cuando hemos ejecutado una select sencilla con el plan textual activa nos ha
mostrado algo de este tipo.

La columna StmtText muestra los operadores. La primera fila es la SELECT


presentada en la declaración. Las filas siguientes son las operaciones físicas
que ocurren dentro del plan de consulta. En este caso, sólo una fila.

En un plan de texto, podemos ver fácilmente operaciones que son marcadores


(flags) de problemas de rendimiento. Es posible desplazarse entre las
columnas de cada fila, es muy fácil ver por un operador y luego ver algunos de
los detalles para ese operador. Pero es mucho más difícil entender el flujo
ordenado de los datos de un operador al siguiente especialmente en un plan
complejo.

El plan de texto muestra en columnas detalles escondidos en la información de


los planes gráficos. Con SHOWPLAN_ALL obtenemos una la columna que
muestra el NodeId Padre. A medida que nos desplazamos a la derecha a
través del plan, se pueden ver muchas otras columnas familiares, tales como la
TotalSubTreeCost, EstimateRows y así sucesivamente. Algunas de estas
columnas son más difíciles de leer, pero en general la información está
disponible fácilmente.

La ventaja de trabajar con un plan de texto es la capacidad de ver un operador


y luego desplazarse hacia la derecha para ver los detalles de ese operador.
Con los planes de texto, una vez que se dispone de toda la información en
formato texto, se pueden realizar búsquedas en los datos como se haría con
cualquier otro conjunto de texto, incluso guardarlo en un archivo y abrirlo en un
editor.
Muchas veces es preferible trabajar con planes gráficos o de XML, pero el plan
de texto tiene su utilidad.

También podría gustarte