SlideShare una empresa de Scribd logo

Como leer planes de ejecución - edición 2015

Todo el mundo que trabaja con base de datos siempre se ha preguntado alguna vez qué son los planes de ejecución y como se leen. Saber leer un plan de ejecución nos va a dar información valiosísima de cara a mejorar el rendimiento de una consulta. En esta sesión vamos a centrarnos en aprender a leer T-SQL para interpretar lo que está haciendo SQL Server para devolvernos la información. Si quieres aprender más sobre Cómo hacer Planes de Negocio, impartiré un seminario el 16 de Febrero en formato clases virtuales presenciales (100% online). Aquí os dejo un enlace del seminario: http://training.solidq.com/es/class/es-1432/

1 de 26
Descargar para leer sin conexión
Como leer planes de
ejecución
Enrique Catala Bañuls
MVP , Mentor SolidQ
ecatala@solidq.com | enrique@enriquecatala.com
Twitter: @enriquecatala
www.enriquecatala.com
3 Sponsor Sessions at 11:15
 Don’t miss them, they might be getting
distributing some awesome prizes!
 HP
 SolidQ
 Pyramid Analytics
 Also Raffle prizes at the end of the
event provided by
HP, SolidQ, Pyramid Analytics, Altran &
Microsoft
Our Main Sponsors:
Agenda
 Repaso rápido
 Generación de planes
 Procesamiento lógico
 Operadores join
 Operadore exchange
 Demos!
Planes de ejecución
¿Sabemos interpretarlos?
5
Optimizador de
consultas
Sentencia SQL Plan de ejecución
Mágia
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
Estimación de costes

Recomendados

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

Informatica presentacion(adrianadamian)
Informatica presentacion(adrianadamian)Informatica presentacion(adrianadamian)
Informatica presentacion(adrianadamian)
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Expo_Int
Expo_IntExpo_Int
Expo_Int
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
 
Manual hp2
Manual hp2Manual hp2
Manual hp2
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
 
Sql
SqlSql
Sql
 
Introduccion clips
Introduccion clipsIntroduccion clips
Introduccion clips
 
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
 
Manejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gManejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50g
 

Destacado

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 CatalaSpanishPASSVC
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BDAdrian Miranda
 
Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012SolidQ
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverZeleneMorita
 
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012SolidQ
 
Escribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientementeEscribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientementeJoseph Lopez
 
Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012Joseph Lopez
 
Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8John Bulla
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónSolidQ
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos SolidQ
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...SolidQ
 
Planes de ejecución 1
Planes de ejecución 1Planes de ejecución 1
Planes de ejecución 1SolidQ
 
WebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesWebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesJOSE AHIAS LOPEZ PORTILLO
 
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...Joseph Lopez
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresEnrique Catala Bañuls
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresJoseph Lopez
 
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014Enrique Puig
 
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
 
Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012Joseph Lopez
 

Destacado (20)

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
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
 
Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql server
 
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
 
Escribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientementeEscribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientemente
 
Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012
 
Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimización
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
 
Planes de ejecución 1
Planes de ejecución 1Planes de ejecución 1
Planes de ejecución 1
 
WebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesWebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e Índices
 
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...
Diseño de aplicaciones de bases de datos empresariales robustas con MS SQL Se...
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 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
Experiencias de migraciones a sql server 2012-2014
 
Agrupando datos en SQL Server
Agrupando datos en SQL ServerAgrupando datos en SQL Server
Agrupando datos en SQL Server
 
Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012Fundamentos en el diseño de bases de datos con MS SQL Server 2012
Fundamentos en el diseño de bases de datos con MS SQL Server 2012
 

Similar a Como leer planes de ejecución - edición 2015

Similar a Como leer planes de ejecución - edición 2015 (20)

Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Lista de Comandos
Lista de ComandosLista de Comandos
Lista de Comandos
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Enunc tp350-2017-1
Enunc tp350-2017-1Enunc tp350-2017-1
Enunc tp350-2017-1
 
Módulo 4 (sin estilo)
Módulo 4 (sin estilo)Módulo 4 (sin estilo)
Módulo 4 (sin estilo)
 
Módulo 4
Módulo 4Módulo 4
Módulo 4
 
Módulo 4
Módulo 4Módulo 4
Módulo 4
 
Comandos
ComandosComandos
Comandos
 
Compilacion parcial
Compilacion parcialCompilacion parcial
Compilacion parcial
 
Cuestionario video
Cuestionario videoCuestionario video
Cuestionario video
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computador
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
01 alp u3
01 alp u301 alp u3
01 alp u3
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.ppt
 
algoritmos3.ppt
algoritmos3.pptalgoritmos3.ppt
algoritmos3.ppt
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 

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
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
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)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
 

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)
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
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)
 
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...
 
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
 

Último

BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdf
BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdfBIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdf
BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdfexpertoleonelmartine
 
Covid muertos por la pandemia oficiales y reales (2024).pdf
Covid muertos por la pandemia oficiales y reales (2024).pdfCovid muertos por la pandemia oficiales y reales (2024).pdf
Covid muertos por la pandemia oficiales y reales (2024).pdfJC Díaz Herrera
 
Potencias geopolíticas prehispánicas en su máximo esplendor (2024).pdf
Potencias geopolíticas prehispánicas  en su máximo esplendor  (2024).pdfPotencias geopolíticas prehispánicas  en su máximo esplendor  (2024).pdf
Potencias geopolíticas prehispánicas en su máximo esplendor (2024).pdfJC Díaz Herrera
 
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdf
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdfLa comunidad judía divida entre el sionismo y otras ideologías (2024).pdf
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdfJC Díaz Herrera
 
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...JC Díaz Herrera
 
Pobreza extrema por origen racial (1980).pdf
Pobreza extrema por origen racial (1980).pdfPobreza extrema por origen racial (1980).pdf
Pobreza extrema por origen racial (1980).pdfJC Díaz Herrera
 
Masato Tanaka - Gran Historia Visual De La Filosofía.pdf
Masato Tanaka - Gran Historia Visual De La Filosofía.pdfMasato Tanaka - Gran Historia Visual De La Filosofía.pdf
Masato Tanaka - Gran Historia Visual De La Filosofía.pdffuera11
 
Pobreza extrema por origen racial (1945).pdf
Pobreza extrema por origen racial  (1945).pdfPobreza extrema por origen racial  (1945).pdf
Pobreza extrema por origen racial (1945).pdfJC Díaz Herrera
 
Las mayores empresas sauditas por valor de mercado (2024).pdf
Las mayores empresas sauditas por valor de mercado  (2024).pdfLas mayores empresas sauditas por valor de mercado  (2024).pdf
Las mayores empresas sauditas por valor de mercado (2024).pdfJC Díaz Herrera
 
Las mayores empresas por valor de mercado (2024).pdf
Las mayores empresas por valor de mercado  (2024).pdfLas mayores empresas por valor de mercado  (2024).pdf
Las mayores empresas por valor de mercado (2024).pdfJC Díaz Herrera
 
Países de AL por reservas de divisas (2024).pdf
Países de AL por reservas de divisas  (2024).pdfPaíses de AL por reservas de divisas  (2024).pdf
Países de AL por reservas de divisas (2024).pdfJC Díaz Herrera
 
Países de Occidente por reservas de divisas (2024).pdf
Países de Occidente por reservas de divisas  (2024).pdfPaíses de Occidente por reservas de divisas  (2024).pdf
Países de Occidente por reservas de divisas (2024).pdfJC Díaz Herrera
 
Las principales potencias geopolíticas ajustadas en el (2024).pdf
Las principales potencias geopolíticas ajustadas en el  (2024).pdfLas principales potencias geopolíticas ajustadas en el  (2024).pdf
Las principales potencias geopolíticas ajustadas en el (2024).pdfJC Díaz Herrera
 
Los individuos más importantes de la historia por etnia (2024).pdf
Los individuos más importantes de la historia por etnia  (2024).pdfLos individuos más importantes de la historia por etnia  (2024).pdf
Los individuos más importantes de la historia por etnia (2024).pdfJC Díaz Herrera
 
infografia herramientas de comunicación síncronas
infografia herramientas de comunicación síncronasinfografia herramientas de comunicación síncronas
infografia herramientas de comunicación síncronasdanielstratds
 
análisis Jenifer Guillermo Hernández 2B.pdf
análisis Jenifer Guillermo Hernández 2B.pdfanálisis Jenifer Guillermo Hernández 2B.pdf
análisis Jenifer Guillermo Hernández 2B.pdf034ha23
 
Pobreza extrema por origen racial (2024).pdf
Pobreza extrema por origen racial  (2024).pdfPobreza extrema por origen racial  (2024).pdf
Pobreza extrema por origen racial (2024).pdfJC Díaz Herrera
 
Posiciones del sionismo en los imperios líderes de la humanidad ajustado (20...
Posiciones del sionismo en los imperios líderes de la humanidad ajustado  (20...Posiciones del sionismo en los imperios líderes de la humanidad ajustado  (20...
Posiciones del sionismo en los imperios líderes de la humanidad ajustado (20...JC Díaz Herrera
 

Último (18)

BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdf
BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdfBIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdf
BIG DATA EJEMPLOS PARA TRABAJAR CON GRANDES.pdf
 
Covid muertos por la pandemia oficiales y reales (2024).pdf
Covid muertos por la pandemia oficiales y reales (2024).pdfCovid muertos por la pandemia oficiales y reales (2024).pdf
Covid muertos por la pandemia oficiales y reales (2024).pdf
 
Potencias geopolíticas prehispánicas en su máximo esplendor (2024).pdf
Potencias geopolíticas prehispánicas  en su máximo esplendor  (2024).pdfPotencias geopolíticas prehispánicas  en su máximo esplendor  (2024).pdf
Potencias geopolíticas prehispánicas en su máximo esplendor (2024).pdf
 
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdf
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdfLa comunidad judía divida entre el sionismo y otras ideologías (2024).pdf
La comunidad judía divida entre el sionismo y otras ideologías (2024).pdf
 
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...
Billonarios sionistas en las principales potencias geopolíticas ajustadas en ...
 
Pobreza extrema por origen racial (1980).pdf
Pobreza extrema por origen racial (1980).pdfPobreza extrema por origen racial (1980).pdf
Pobreza extrema por origen racial (1980).pdf
 
Masato Tanaka - Gran Historia Visual De La Filosofía.pdf
Masato Tanaka - Gran Historia Visual De La Filosofía.pdfMasato Tanaka - Gran Historia Visual De La Filosofía.pdf
Masato Tanaka - Gran Historia Visual De La Filosofía.pdf
 
Pobreza extrema por origen racial (1945).pdf
Pobreza extrema por origen racial  (1945).pdfPobreza extrema por origen racial  (1945).pdf
Pobreza extrema por origen racial (1945).pdf
 
Las mayores empresas sauditas por valor de mercado (2024).pdf
Las mayores empresas sauditas por valor de mercado  (2024).pdfLas mayores empresas sauditas por valor de mercado  (2024).pdf
Las mayores empresas sauditas por valor de mercado (2024).pdf
 
Las mayores empresas por valor de mercado (2024).pdf
Las mayores empresas por valor de mercado  (2024).pdfLas mayores empresas por valor de mercado  (2024).pdf
Las mayores empresas por valor de mercado (2024).pdf
 
Países de AL por reservas de divisas (2024).pdf
Países de AL por reservas de divisas  (2024).pdfPaíses de AL por reservas de divisas  (2024).pdf
Países de AL por reservas de divisas (2024).pdf
 
Países de Occidente por reservas de divisas (2024).pdf
Países de Occidente por reservas de divisas  (2024).pdfPaíses de Occidente por reservas de divisas  (2024).pdf
Países de Occidente por reservas de divisas (2024).pdf
 
Las principales potencias geopolíticas ajustadas en el (2024).pdf
Las principales potencias geopolíticas ajustadas en el  (2024).pdfLas principales potencias geopolíticas ajustadas en el  (2024).pdf
Las principales potencias geopolíticas ajustadas en el (2024).pdf
 
Los individuos más importantes de la historia por etnia (2024).pdf
Los individuos más importantes de la historia por etnia  (2024).pdfLos individuos más importantes de la historia por etnia  (2024).pdf
Los individuos más importantes de la historia por etnia (2024).pdf
 
infografia herramientas de comunicación síncronas
infografia herramientas de comunicación síncronasinfografia herramientas de comunicación síncronas
infografia herramientas de comunicación síncronas
 
análisis Jenifer Guillermo Hernández 2B.pdf
análisis Jenifer Guillermo Hernández 2B.pdfanálisis Jenifer Guillermo Hernández 2B.pdf
análisis Jenifer Guillermo Hernández 2B.pdf
 
Pobreza extrema por origen racial (2024).pdf
Pobreza extrema por origen racial  (2024).pdfPobreza extrema por origen racial  (2024).pdf
Pobreza extrema por origen racial (2024).pdf
 
Posiciones del sionismo en los imperios líderes de la humanidad ajustado (20...
Posiciones del sionismo en los imperios líderes de la humanidad ajustado  (20...Posiciones del sionismo en los imperios líderes de la humanidad ajustado  (20...
Posiciones del sionismo en los imperios líderes de la humanidad ajustado (20...
 

Como leer planes de ejecución - edición 2015

  • 1. Como leer planes de ejecución Enrique Catala Bañuls MVP , Mentor SolidQ ecatala@solidq.com | enrique@enriquecatala.com Twitter: @enriquecatala www.enriquecatala.com
  • 2. 3 Sponsor Sessions at 11:15  Don’t miss them, they might be getting distributing some awesome prizes!  HP  SolidQ  Pyramid Analytics  Also Raffle prizes at the end of the event provided by HP, SolidQ, Pyramid Analytics, Altran & Microsoft
  • 4. Agenda  Repaso rápido  Generación de planes  Procesamiento lógico  Operadores join  Operadore exchange  Demos!
  • 5. Planes de ejecución ¿Sabemos interpretarlos? 5 Optimizador de consultas Sentencia SQL Plan de ejecución Mágia
  • 6. 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 Estimación de costes
  • 7. Generación de plan de ejecución  En cada join, se incrementa exponencialmente el nº de soluciones posibles Cuidado con el timeout!
  • 8. Visualizar plan de ejecución SELECT * FROM dbo.Pedidos p INNER JOIN dbo.Items i ON p.ID_Pedido = i.ID_Pedido INNER JOIN dbo.Clientes c ON p.ID_Cliente = c.ID_Cliente INNER JOIN dbo.Produtos p ON i.ID_Produto = p.ID_Produto Para no Clikear presionar CTRL-L
  • 9. Operadores ¿Qué son? 10  Casi todo operador funciona pidiendo filas de uno o mas hijos y devolviéndolas al que se las ha pedido Caso especial Common Table Spool Operadores columnares  Cada operador devuelve de 1 fila en 1 fila  *No todos
  • 10. Planes de ejecución Flechas 11 ¿Ves la diferencia en el grosor de la flecha?  Estimación un poco equivocada!  1. Analiza el grosor de las flechas 2. Compara los valores del plan estimado vs. el real
  • 11. Planes de ejecución Comparar planes 12  Fíjate en los % de consulta
  • 12. Operadores join Nested loops 13 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
  • 13. Operadores join Merge join 14 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 }
  • 14. Operadores join Hash join 15  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) }
  • 15. 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 DBCC SHOW_STATISTICS
  • 21. Operadores exchange Distribute Streams Hash Los valores de filas obtienen hash y cada hilo se responsabiliza de un rango hash Round Robin Los valores de las filas se envían al siguiente hilo de la lista Range Determina a que hilo enviar la fila evaluando una funcion de rango sobre una columna Rara y usada en algunos parallel index recreation Broadcast Todas las filas se envian a todos los hilos Demand Se usa un modo pull en lugar de push como en las otras. Envia la fila al thread que se la está pidiendo Aparece en tablas particionadas
  • 22. Operadores exchange Repartition streams 24  Consume múltiples fuentes y produce multiples fuentes  No se modifican las filas  Se reducen filas si aparece un operador bitmap
  • 23. Operadores exchange Gather streams  Consume múltiples hilos y produce un único hilo  Combina resultados  Es el que mayor % de esperas suele generar
  • 24. Procesamiento lógico De una consulta 26 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. SELECT 1. Evaluar expresiones 2. Eliminar duplicados 6. ORDER BY 7. OFFSET-FETCH/TOP
  • 25. Conclusión 27 1. Repasar aspectos fundamentales de operadores 2. Ser capaces de leer los planes de ejecución mas habituales
  • 26. Como leer planes de ejecución Enrique Catala Bañuls MVP , Mentor SolidQ ecatala@solidq.com | enrique@enriquecatala.com Twitter: @enriquecatala www.enriquecatala.com

Notas del editor

  1. Select * from sys.dm_exec_query_optimizer_info Where counter in('optimizations, trivial plan', 'search 0', 'search 1', 'search 2') Order by counter
  2. Los operadores de tipo índice columnar y los de tipo Exchange paralelos, que funcionan enviando paquetes de filas
  3. Esto es mucho mas frecuente de lo que parece. ¡Actualiza tus estadísticas!
  4. Es el operador mas sencillo Es un doble bucle
  5. Lee simultáneamente las dos entradas Ambas entradas deben estar ordenadas
  6. 37’ Si se estima menos memoria para hash, aparecen los temidos hash warnings…
  7. Notas Hash Join: -La existencia de Hash Join cuando la tabla inner no es sustancialmente menor típicamente indica que falta algun filtro. -Hay que estar vigilantes ante Hash Warning Events – Profiler -Altamente ineficiente si las tablas son muy grandes
  8. Esto es necesario para entender la demo
  9. Estimated CPU Cost Coste de uso de CPU por el operador. Este número debe ser el menor posible. Estimated I/O Cost Coste de toda la actividad de I/O realizada por el operador. Este número debe ser el menor posible. Estimated Operator Cost Coste para el optimizador de consultas al ejecutar esta operación. Muestra entre paréntesis el porcentaje total del coste del operador en relación a todo el plan. Estimated Number of Executions Estimación del número de veces que el operador será ejecutado en el plan. Estimated Number of Rows Estimación del número de filas que el operador devolverá. Estimated Row Size Media estimada del tamaño del registro (en bytes) leido por el operador. Estimated SubTree Cost Suma del coste de todos los operadores ejecutados antes de este operador.
  10. Estimated CPU Cost Coste de uso de CPU por el operador. Este número debe ser el menor posible. Estimated I/O Cost Coste de toda la actividad de I/O realizada por el operador. Este número debe ser el menor posible. Estimated Operator Cost Coste para el optimizador de consultas al ejecutar esta operación. Muestra entre paréntesis el porcentaje total del coste del operador en relación a todo el plan. Estimated Number of Executions Estimación del número de veces que el operador será ejecutado en el plan. Estimated Number of Rows Estimación del número de filas que el operador devolverá. Estimated Row Size Media estimada del tamaño del registro (en bytes) leido por el operador. Estimated SubTree Cost Suma del coste de todos los operadores ejecutados antes de este operador.
  11. Estimated CPU Cost Coste de uso de CPU por el operador. Este número debe ser el menor posible. Estimated I/O Cost Coste de toda la actividad de I/O realizada por el operador. Este número debe ser el menor posible. Estimated Operator Cost Coste para el optimizador de consultas al ejecutar esta operación. Muestra entre paréntesis el porcentaje total del coste del operador en relación a todo el plan. Estimated Number of Executions Estimación del número de veces que el operador será ejecutado en el plan. Estimated Number of Rows Estimación del número de filas que el operador devolverá. Estimated Row Size Media estimada del tamaño del registro (en bytes) leido por el operador. Estimated SubTree Cost Suma del coste de todos los operadores ejecutados antes de este operador.
  12. Estimated CPU Cost Coste de uso de CPU por el operador. Este número debe ser el menor posible. Estimated I/O Cost Coste de toda la actividad de I/O realizada por el operador. Este número debe ser el menor posible. Estimated Operator Cost Coste para el optimizador de consultas al ejecutar esta operación. Muestra entre paréntesis el porcentaje total del coste del operador en relación a todo el plan. Estimated Number of Executions Estimación del número de veces que el operador será ejecutado en el plan. Estimated Number of Rows Estimación del número de filas que el operador devolverá. Estimated Row Size Media estimada del tamaño del registro (en bytes) leido por el operador. Estimated SubTree Cost Suma del coste de todos los operadores ejecutados antes de este operador.
  13. Esto es importantísimo para entender los planes de ejecución