SlideShare una empresa de Scribd logo

Planes de ejecucion 1

En esta sesión conoceremos los operadores básicos de los planes de ejecución: nested loop, merge join, hash join, aggregates) y speeling. Conocerá también cómo interpretar un plan de ejecución y cómo leerlo.

1 de 23
Descargar para leer sin conexión
#SQSummit
Planes de ejecución 1
Enrique Catalá Bañuls
Mentor
ecatala@solidq.com
Agenda
• Repaso rápido
• Demos!
¿Sabemos interpretarlos?
Optimizador de
consultas
Sentencia SQL Plan de ejecución
Mágia
Planes de ejecución en SQL Server
Existe en
plan caché?
Compilar y optimizar
query
Ejecucion query
Fin de ejecución
NO
Ejecutar query
Necesario
recompilar?
NO
Query Store
Obtener plan de caché
SI
SI
Enviar texto y plan
Nuevo plan forzado
Obtener plan forzado
Generación de plan de ejecución
• El optimizador utiliza dos tipos de clave
• Tiempo E/S: Coste de leer páginas de un
subsistema de disco
• Tiempo CPU: Coste de aplicar predicados y tuplas
en memoria
Generación de plan de ejecución
• Stage 0
• Reglas básicas de evaluacion usando hash y nested join
• Si el coste del plan es menor a 0.2 usar este plan
• Stage 1
• Explorar mas reglas incluso alterando el orden de los
join
• Stage 2
• Explorar todas las opciones y optar por el plan menos
costoso tras un nº limitado de exploraciones
if(best_plan_for_now.cost<1) return(best_plan_for_now)
else if(MAXDOP>0
and best_plan.cost > threshold for parallelism)
return(MIN(create_paralel_plan().cost, best_plan_for_now))

Recomendados

Más contenido relacionado

La actualidad más candente

La actualidad más candente (6)

Informatica presentacion(adrianadamian)
Informatica presentacion(adrianadamian)Informatica presentacion(adrianadamian)
Informatica presentacion(adrianadamian)
 
Pila simple
Pila simplePila simple
Pila simple
 
Resolver Serie
Resolver SerieResolver Serie
Resolver Serie
 
WebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query languageWebSQl DataBase HTML5-dql - data query language
WebSQl DataBase HTML5-dql - data query language
 
HTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregadoHTML5 API WebSQL Database: Funciones de agregado
HTML5 API WebSQL Database: Funciones de agregado
 
Manual hp2
Manual hp2Manual hp2
Manual hp2
 

Destacado (15)

14 structure query language
14 structure query language14 structure query language
14 structure query language
 
SQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql serverSQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql server
 
Aplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdadesAplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdades
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Query store
Query storeQuery store
Query store
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
SQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query languageSQLite y PHP: DQL - data query language
SQLite y PHP: DQL - data query language
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
 
Plan de ejecución. clase 1.5 modulo 1
Plan  de ejecución. clase 1.5 modulo 1Plan  de ejecución. clase 1.5 modulo 1
Plan de ejecución. clase 1.5 modulo 1
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
 
INFOTEP
INFOTEPINFOTEP
INFOTEP
 
Formación Profesional
Formación ProfesionalFormación Profesional
Formación Profesional
 
GUIA DE PLAN DE CLASES
GUIA DE PLAN DE CLASES GUIA DE PLAN DE CLASES
GUIA DE PLAN DE CLASES
 
Plan clase diario
Plan clase diarioPlan clase diario
Plan clase diario
 

Similar a Planes de ejecucion 1

Similar a Planes de ejecucion 1 (20)

Planes de ejecución 1
Planes de ejecución 1Planes de ejecución 1
Planes de ejecución 1
 
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
 
Índices en MySQL
Índices en MySQLÍndices en MySQL
Índices en MySQL
 
Optimizacion De Consultas
Optimizacion De ConsultasOptimizacion De Consultas
Optimizacion De Consultas
 
Lecc01
Lecc01Lecc01
Lecc01
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
01 alp u3
01 alp u301 alp u3
01 alp u3
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Compilacion parcial
Compilacion parcialCompilacion parcial
Compilacion parcial
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sql
 
TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005
 
Sentencias
SentenciasSentencias
Sentencias
 
4072954.ppt
4072954.ppt4072954.ppt
4072954.ppt
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptx
 
Introducción a la programación en Python
Introducción a la programación en PythonIntroducción a la programación en Python
Introducción a la programación en Python
 
Clase 1 Visual Basic_progr..pdf
Clase 1 Visual Basic_progr..pdfClase 1 Visual Basic_progr..pdf
Clase 1 Visual Basic_progr..pdf
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduino
 
Sesión 4
Sesión 4Sesión 4
Sesión 4
 
C curso intr
C curso intr C curso intr
C curso intr
 

Más de Enrique Catala Bañuls

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverEnrique Catala Bañuls
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerEnrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorEnrique Catala Bañuls
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverEnrique Catala Bañuls
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Enrique Catala Bañuls
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextEnrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorEnrique Catala Bañuls
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresEnrique Catala Bañuls
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...Enrique Catala Bañuls
 
Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014Enrique Catala Bañuls
 
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azureEscalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azureEnrique Catala Bañuls
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalEnrique Catala Bañuls
 
Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014 Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014 Enrique Catala Bañuls
 
Guias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql serverGuias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql serverEnrique Catala Bañuls
 

Más de Enrique Catala Bañuls (20)

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL Server
 
Paralelismo en SQL Server
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL Server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql server
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v next
 
Paralelismo en sql server
Paralelismo en sql serverParalelismo en sql server
Paralelismo en sql server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
 
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
HERRAMIENTA CASE PARA MODELADO DE ALMACENES DE DATOS BASADA EN LENGUAJES ESPE...
 
Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014Escenarios híbridos con sql server 2014
Escenarios híbridos con sql server 2014
 
Transacciones diferidas
Transacciones diferidasTransacciones diferidas
Transacciones diferidas
 
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azureEscalabilidad horizontal y arquitecturas elásticas en Microsoft azure
Escalabilidad horizontal y arquitecturas elásticas en Microsoft azure
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 
Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014 Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014
 
Guias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql serverGuias y recomendaciones para instalar y configurar clusters de sql server
Guias y recomendaciones para instalar y configurar clusters de sql server
 

Último

Breve Resumen Modelos Evaluación REDs e Instrumentos
Breve Resumen Modelos Evaluación REDs e InstrumentosBreve Resumen Modelos Evaluación REDs e Instrumentos
Breve Resumen Modelos Evaluación REDs e Instrumentosdarkcrow08
 
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraEdith Puclla
 
IA aplicada a las aulas. Aumentame EDU 2024
IA aplicada a las aulas. Aumentame EDU 2024IA aplicada a las aulas. Aumentame EDU 2024
IA aplicada a las aulas. Aumentame EDU 2024Isidro Navarro
 
presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncscarlocarrillocacc
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxBasile
 
cronogramangeneralnadso___856567bd2e7b829___.pdf
cronogramangeneralnadso___856567bd2e7b829___.pdfcronogramangeneralnadso___856567bd2e7b829___.pdf
cronogramangeneralnadso___856567bd2e7b829___.pdfjhongarciarojas123
 
David_Gallegos - tarea de la sesión 2.pptx
David_Gallegos - tarea de la sesión 2.pptxDavid_Gallegos - tarea de la sesión 2.pptx
David_Gallegos - tarea de la sesión 2.pptxDAVIDROBERTOGALLEGOS
 
Las Tic en casa, las tics en diferentes ambitos
Las Tic en casa, las tics en diferentes ambitosLas Tic en casa, las tics en diferentes ambitos
Las Tic en casa, las tics en diferentes ambitosvikicarmine14
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCAMaxime Chambreuil
 
Manual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffManual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffDomotica daVinci
 
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Telefónica
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...NicolleAndrade7
 
Teñidos a Temperatura Ambiente y Descargables
Teñidos a Temperatura Ambiente y DescargablesTeñidos a Temperatura Ambiente y Descargables
Teñidos a Temperatura Ambiente y DescargablesCHEMPRO
 
Tarea_sesion_2_Creación de una base de datos en el hosting.pptx
Tarea_sesion_2_Creación de una base de datos en el hosting.pptxTarea_sesion_2_Creación de una base de datos en el hosting.pptx
Tarea_sesion_2_Creación de una base de datos en el hosting.pptxVICTORMANUELBEASAGUI
 
Arenas Camacho Jose Fernando-Practica sesión 2.pptx
Arenas Camacho Jose Fernando-Practica sesión 2.pptxArenas Camacho Jose Fernando-Practica sesión 2.pptx
Arenas Camacho Jose Fernando-Practica sesión 2.pptxJOSEFERNANDOARENASCA
 
FACULTAD DE DERECHO MEXICALI. TRABAJO DE TECNOLOGIAS DE LA INVESTIGACION JUR...
FACULTAD DE DERECHO MEXICALI. TRABAJO DE  TECNOLOGIAS DE LA INVESTIGACION JUR...FACULTAD DE DERECHO MEXICALI. TRABAJO DE  TECNOLOGIAS DE LA INVESTIGACION JUR...
FACULTAD DE DERECHO MEXICALI. TRABAJO DE TECNOLOGIAS DE LA INVESTIGACION JUR...yaniraoceguera
 
Premio (tecnología actividad)combinación...
Premio (tecnología actividad)combinación...Premio (tecnología actividad)combinación...
Premio (tecnología actividad)combinación...NicolleAndrade7
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónEdith Puclla
 
Desarrollo de Interfaces 2t Desarrollo Aplicaciones Móvilles
Desarrollo de Interfaces 2t Desarrollo Aplicaciones MóvillesDesarrollo de Interfaces 2t Desarrollo Aplicaciones Móvilles
Desarrollo de Interfaces 2t Desarrollo Aplicaciones MóvillesMaricarmen Sánchez Ruiz
 

Último (20)

Breve Resumen Modelos Evaluación REDs e Instrumentos
Breve Resumen Modelos Evaluación REDs e InstrumentosBreve Resumen Modelos Evaluación REDs e Instrumentos
Breve Resumen Modelos Evaluación REDs e Instrumentos
 
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y CarreraAbrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
 
IA aplicada a las aulas. Aumentame EDU 2024
IA aplicada a las aulas. Aumentame EDU 2024IA aplicada a las aulas. Aumentame EDU 2024
IA aplicada a las aulas. Aumentame EDU 2024
 
presentacion de una computadora modelo uncs
presentacion de una computadora modelo uncspresentacion de una computadora modelo uncs
presentacion de una computadora modelo uncs
 
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptxLey de Delitos Informaticos y su aplicación en el sector privado.pptx
Ley de Delitos Informaticos y su aplicación en el sector privado.pptx
 
cronogramangeneralnadso___856567bd2e7b829___.pdf
cronogramangeneralnadso___856567bd2e7b829___.pdfcronogramangeneralnadso___856567bd2e7b829___.pdf
cronogramangeneralnadso___856567bd2e7b829___.pdf
 
David_Gallegos - tarea de la sesión 2.pptx
David_Gallegos - tarea de la sesión 2.pptxDavid_Gallegos - tarea de la sesión 2.pptx
David_Gallegos - tarea de la sesión 2.pptx
 
Las Tic en casa, las tics en diferentes ambitos
Las Tic en casa, las tics en diferentes ambitosLas Tic en casa, las tics en diferentes ambitos
Las Tic en casa, las tics en diferentes ambitos
 
Realiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCARealiza tu primera contribucion a la OCA
Realiza tu primera contribucion a la OCA
 
Manual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 SonoffManual de usuario Dongle Zigbee 3.0 Sonoff
Manual de usuario Dongle Zigbee 3.0 Sonoff
 
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
Índice del libro: Máxima Seguridad en Windows: Secretos Técnicos. 6ª Edición ...
 
Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...Lista de datos (tecnología) combinación de...
Lista de datos (tecnología) combinación de...
 
Teñidos a Temperatura Ambiente y Descargables
Teñidos a Temperatura Ambiente y DescargablesTeñidos a Temperatura Ambiente y Descargables
Teñidos a Temperatura Ambiente y Descargables
 
Tarea_sesion_2_Creación de una base de datos en el hosting.pptx
Tarea_sesion_2_Creación de una base de datos en el hosting.pptxTarea_sesion_2_Creación de una base de datos en el hosting.pptx
Tarea_sesion_2_Creación de una base de datos en el hosting.pptx
 
Arenas Camacho Jose Fernando-Practica sesión 2.pptx
Arenas Camacho Jose Fernando-Practica sesión 2.pptxArenas Camacho Jose Fernando-Practica sesión 2.pptx
Arenas Camacho Jose Fernando-Practica sesión 2.pptx
 
FACULTAD DE DERECHO MEXICALI. TRABAJO DE TECNOLOGIAS DE LA INVESTIGACION JUR...
FACULTAD DE DERECHO MEXICALI. TRABAJO DE  TECNOLOGIAS DE LA INVESTIGACION JUR...FACULTAD DE DERECHO MEXICALI. TRABAJO DE  TECNOLOGIAS DE LA INVESTIGACION JUR...
FACULTAD DE DERECHO MEXICALI. TRABAJO DE TECNOLOGIAS DE LA INVESTIGACION JUR...
 
Premio (tecnología actividad)combinación...
Premio (tecnología actividad)combinación...Premio (tecnología actividad)combinación...
Premio (tecnología actividad)combinación...
 
La píldora de los jueves: Las claves del BREEAM - Leticia Galdos
La píldora de los jueves: Las claves del BREEAM - Leticia GaldosLa píldora de los jueves: Las claves del BREEAM - Leticia Galdos
La píldora de los jueves: Las claves del BREEAM - Leticia Galdos
 
Operadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatizaciónOperadores de Kubernetes: El poder de la automatización
Operadores de Kubernetes: El poder de la automatización
 
Desarrollo de Interfaces 2t Desarrollo Aplicaciones Móvilles
Desarrollo de Interfaces 2t Desarrollo Aplicaciones MóvillesDesarrollo de Interfaces 2t Desarrollo Aplicaciones Móvilles
Desarrollo de Interfaces 2t Desarrollo Aplicaciones Móvilles
 

Planes de ejecucion 1

  • 1. #SQSummit Planes de ejecución 1 Enrique Catalá Bañuls Mentor ecatala@solidq.com
  • 4. Planes de ejecución en SQL Server Existe en plan caché? Compilar y optimizar query Ejecucion query Fin de ejecución NO Ejecutar query Necesario recompilar? NO Query Store Obtener plan de caché SI SI Enviar texto y plan Nuevo plan forzado Obtener plan forzado
  • 5. Generación de plan de ejecución • El optimizador utiliza dos tipos de clave • Tiempo E/S: Coste de leer páginas de un subsistema de disco • Tiempo CPU: Coste de aplicar predicados y tuplas en memoria
  • 6. Generación de plan de ejecución • Stage 0 • Reglas básicas de evaluacion usando hash y nested join • Si el coste del plan es menor a 0.2 usar este plan • Stage 1 • Explorar mas reglas incluso alterando el orden de los join • Stage 2 • Explorar todas las opciones y optar por el plan menos costoso tras un nº limitado de exploraciones if(best_plan_for_now.cost<1) return(best_plan_for_now) else if(MAXDOP>0 and best_plan.cost > threshold for parallelism) return(MIN(create_paralel_plan().cost, best_plan_for_now))
  • 7. Generación de plan de ejecución • En cada join, se incrementa exponencialmente el nº de soluciones posibles
  • 8. Operadores • Todo operador funciona pidiendo filas de uno o mas hijos y devolviéndolas al que se las ha pedido • Caso especial Common Table Spool • Cada operador devuelve de 1 fila en 1 fila • *No todos
  • 9. Procesamiento lógico 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. SELECT 1. Evaluar expresiones 2. Eliminar duplicados 6. ORDER BY 7. OFFSET-FETCH/TOP
  • 10. Planes de ejecución ¿Ves la diferencia en el grosor de la flecha?  Estimación un poco equivocada! 
  • 11. Planes de ejecución • Fíjate en los %
  • 12. Operadores JOIN Un operador lógico se puede resolver con distintos operadores físicos NESTED LOOP HASH JOIN MERGE JOIN JOIN CLAUSE
  • 13. Operadores join for each row R1 in the outer table { for each row R2 in the inner table { if R1 joins with R2 return (R1, R2) } } *No confundir inner table con inner join ni outer table com outer join
  • 14. Merge join get first row R1 from input 1 get first row R2 from input 2 while not at the end of either input { if R1 joins with R2 { return (R1, R2) get next row R2 from input 2 } else if R1 < R2 get next row R1 from input 1 else get next row R2 from input 2 }
  • 15. Hash join • Ejecución en dos fases 1. Build: Cálculo de clave hash del inner 2. Prueba: Lee la outer, crea su hash y compara con hash precalculado en fase build for each row R1 in the build table { calculate hash value on R1 join key(s) insert R1 into the appropriate hash bucket } for each row R2 in the probe table { calculate hash value on R2 join key(s) for each row R1 in the corresponding hash bucket if R1 joins with R2 return (R1, R2) }
  • 16. Recomendaciones • No bloqueante • Eficiencia de tabla inner (arriba) • Soporta cualquier join • Util cjtos pequeños Nested Loop • No bloqueante • Datos ordenados • Solo equijoin Merge Join • Bloqueante • Tabla inner muy pequeña Hash Join
  • 17. Leectura de histogramas EQ_ROWS = Cantidad de líneas que poseen el último valor de la muestra Ej: Existen 64 líneas para la mostra 111 (línea 5) DISTINCT_RANGE_ROWS = Cantidad de valores distintos dentro de un intervalo. El valor de RANGE_HI_KEY está EXCLUIDO Ej: En la línea 5 (108 hasta 110) tenemos 3 valores distintos Debería llamarse DISTINCT_RANGE_VALUES AVG_RANGE_ROWS = Media de valores en el rango (RANGE_ROWS/ DISTINCT_RANGE_ROWS) Ej: En la linea 5 tenemos 160 / 3 = 53,33333 RANGE_HI_KEY = Valor clave de cada muestra Ej: En la línea 5 tenemos el valor 111 que va de 108 (107 (Línea 4) + 1) hasta 111 RANGE_ROWS = Cantidad de líneas que poseen valores iguales a los de la muestra excluyendo el valor de RANGE_HI_KEY Ej: La línea 5 va de 108 a 110 (excluyendo el valor 111(RANGE_HI_KEY)). Dentro de este rango tenemos 160 líneas El valor buscado (110) está entre las líneas 4 y 5 SELECT * FROM Items1 WHERE Quantity = 110 DBCC SHOW_STATISTICS (Items1, Stats_Quantity) WITH HISTOGRAM
  • 22. Conclusión • Repasar aspectos fundamentales de operadores • Ser capaces de leer los planes de ejecución mas habituales
  • 23. También puedes preguntar tus dudas con el hashtag #SQSummit en Twitter ADAPTIVE BI FRAMEWORK Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia: •Diseña antes de construir •Automatización de procesos por ETL •Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio •Muy fácil de mantener SOLIDQ FLEX SERVICES Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte. Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes. ¡Gracias!