Execution Plan
(plan de
ejecución)
en SQL Server
Ejecución de una consulta
1. Ejecutar en SQL
2. Análisis de SQL
3. Arbol de ejecución normalizado
4. Optimizador de consulta de SQL (aquí seproduce el plan de ejecución)
5. Plan de ejecución de la caché
6. Asignamiento de memoria
7. Ejecutar
8. Devolver datos
Procedimientos almacenados VS. SQL Puro
Procedimiento almacenado
-Plande Ejecución se almacena en caché
-Mejor seguridad
-Necesita recompilar de vez en cuando
• SQL Puro
-Necesita compilarse CADA vez
-No hay aislamiento de seguridad
Optimización de consulta
•Planes de ejecución y optimizaciones
basadas en los costos
• Fases de optimización
• Índices y estadísticas de distribución
Plan de Ejecución
Estrategia determinada por el optimizador paraacceder
/ manipular datos
-Puede ser influenciado por el desarrollador
Se toman las decisiones clave
-¿Cuáles los índices a usar?
-¿Cómo realizar las operaciones JOIN?
-¿Cómo ordenar y agrupardatos?
-¿En qué orden procesar las tablas?
¿Por qué entender el concepto de Plan de
Ejecución?
Comprensión de una estrategia de consulta
de ejecución/procesamiento
Mejorar problemas derendimiento en el
código.
Entender los Planes de Ejecución es un
prerrequisito para realizar mejoras.
Tipos de Plan de Ejecución
1.Estimado.
- Creado sin antes haber corrido la consulta
- Usaestadísticas para la estimación.
- Bueno para mejorar consultas de larga duración.
2.Actual
- Creado cuando la consulta actual esta corriendo
- Usa los datos reales
Tipos de Plan de Ejecución3.De pruebas.
- Desaprobado para las nuevas versiones en SQL
Server
4.Basado en XML.
- Muy bueno para su análisis posterior. Puede ser
consultado.
5.Gráfico.
- Usa internamente el basado enXML.
Lectura de Plan de Ejecución
- Se necesita el permiso SHOWPLAN
- Ejecución de consultas se realiza en serie
● Es una serie de pasos/operaciones
secuenciales
● Ejecutados uno tras otro...
Regístrate para leer el documento completo.