SlideShare una empresa de Scribd logo
1 de 34
Utilizando el Plan Cache
para optimizar procesos de
consultas
John Alexander Bulla Torres - @johnbulla
PASS – Regional Mentor Latam
DPA - SolidQ
http://geeks.ms/blogs/johnbulla - http://www.bdotnet.org
AGENDA
• 00:00 - 00:05 Bienvenida/ Introducción moderador
• 00:05 - 00:45 Presentación por el Speaker
• 00:45 - 00:55 P&R Moderadas por el anfitrión
• 00:55 - 01:00 Agradecimientos y cierre
Gracias por Asistir
Asistencia Técnica
• Asegúrate que todos estén en modo Mudo.
• Por favor descarguen el cliente de Live Meeting. El cliente WEB no soporta
Audio.
• Clic en feedback (Parte superior derecha) y cambia tu estatus de color en caso
de requerir apoyo del moderador.
• Si tienes alguna pregunta, escríbela en el área de Preguntas & Respuestas.
Mantente conectado con nosotros
• Te podrás registrar en todas las sesiones que tenemos planificadas a través de nuestro
link http://bit.ly/SQLPASSVENEZUELA.
• Cualquier cambio/actualización los mantenemos informados a través de nuestro sitio
web www.venezuela.sqlpass.org y a través de nuestra cuenta en las redes sociales
• Puedes contactarnos o escribir algo en Twitter a través de la cuenta @sqlpassve
o postea con el tag #SQLPASSVE
• Si tienes Facebook puedes seguirnos en la página de
https://www.facebook.com/sqlpassvzla
#SQLPASSVE
AGRADECIMIENTOS
Agradecemos a nuestros patrocinadores
por el apoyo a este evento
y a
SQL PASS VENEZUELA – Caracas Chapter
José Redondo (Líder del Capítulo)
Capítulo
SQL PASS Venezuela Caracas Chapter
Líder: José G. Redondo López
4 miembros coordinadores y +15 colaboradores
Somos una comunidad técnica de profesionales de SQL Server
ubicada en la ciudad de Caracas, Venezuela
Nos unimos con el fin de conectar, aprender y compartir nuestra experiencia en el
campo profesional bajo la plataforma de datos SQL Server a través del intercambio de
conocimientos e información apoyándonos para ello en eventos en
línea, presenciales, uso de redes sociales, eventos regionales y locales.
Trabajamos a la par con Microsoft y sus asociados para influenciar en
la evolución de los productos y servicios de SQL Server.
www.venezuela.sqlpass.org
JOHN ALEXANDER BULLA
AGENDA
INTRODUCCIÓN
• Query Batch, Script, Batch Terminator
PLAN DE EJECUCIÓN
PLAN DE EJECUCIÓN
• Table Scan
PLAN DE EJECUCIÓN
• Clustered Index Scan
PLAN DE EJECUCIÓN
• Clustered Index Seek
PLAN DE EJECUCIÓN
• Index Seek
PLAN DE EJECUCIÓN
• Index Scan
PLAN DE EJECUCIÓN
• Joins (Neested Loop Join, Merge Join y Hash Join)
PLAN DE EJECUCIÓN
• Agregaciones (Stream Aggregate, Hash Match)
PLAN DE EJECUCIÓN
• Sort
PLAN CACHE
• Parte de la memoria SQL Server que almacena
los planes de ejecución que han sido
preparados por el optimizador de consultas.
Los planes de ejecución se utilizan para SQL
Server ejecute sentencias SQL.
PLAN CACHE
• sys.dm_exec_cached_plans
• All Plans
• Size
• Use count
• sys.dm_exec_query_plan(plan_handle)
• Table Valued Function
• SHOWPLAN XML as XML
• sys.dm_exec_text_query_plan(plan_handle,0,-1)
• Table Valued Function
• SHOWPLAN XML as text
sys.dm_exec_cached_plans
• Devuelve una fila para cada plan de consulta que SQL Server
almacena en caché para agilizar la ejecución. Puede usar esta
vista de administración dinámica para ver los planes de consulta
almacenados en caché, el texto de las consultas almacenadas en
caché, la cantidad de memoria que ocupan los planes y el
contador de reutilización de los planes almacenados en caché.
• bucketid, refcounts, usecounts, size_in_bytes, memory_object_address, c
acheobjtype, objtype, plan_handle, pool_id
sys.dm_exec_query_plan(plan_handle)
• Devuelve el plan de presentación en formato XML para el lote
especificado por el identificador del plan. Este plan especificado
por el identificador del plan puede estar almacenado en caché o
ejecutándose.
• dbid, objectid, number, encrypted, query_plan
sys.dm_exec_text_query_plan
• Devuelve el plan de presentación en formato de texto para un lote
Transact-SQL o para una instrucción concreta dentro del mismo. Este plan
de consulta especificado por el identificador del plan puede estar
almacenado en caché o ejecutándose. Esta función con valores de tabla es
similar a sys.dm_exec_query_plan (Transact-SQL), pero tiene las diferencias
siguientes:
• El resultado del plan de consulta se devuelve en formato de texto.
• El resultado del plan de consulta no está limitado en tamaño.
• Se pueden especificar instrucciones individuales dentro del lote.
• dbid, objectid, number, encrypted, query_plan
Resumen
• Query Batch, Script, Batch Terminator
• Planes de Ejecución
• Plan Cache
PREGUNTAS & RESPUESTAS
RECURSOS
Dissecting SQL Server Execution Plans
By Grant Fritchey
http://bit.ly/ebookPlanEjecucion
SQL Server Execution Plans
By Grant Fritchey
http://bit.ly/ebookSQLPlanEjecucion
RECURSOS
Inside the SQL Server Query
Optimizer
By Benjamin Nevarez
http://www.benjaminnevarez.com/
CONTACTO
Sitio web:
http://venezuela.sqlpass.org/
Facebook:
https://www.facebook.com/sqlpassvzla
Twitter:
https://twitter.com/sqlpassve
CONTACTO
John
Alexander
Bulla Torres
http://bit.ly/johnbulla
@JohnBulla
www.bdotnet.org
Los invitamos al
Charlotte, NC
Octubre 15 -18
http://www.sqlpass.org/summit/2013/
Aplicando AlwaysOn Availability Groups en escenarios
reales
Fecha: Miercoles, Agosto 28 de 2013 - 12:30 Hora Venezuela
Speaker: Edinson Medina.
Regístrese en: http://bit.ly/SQLPASSVENEZUELA
Descripción:
Suministrar y consolidar las nuestras bondades de Alta Disponibilidad ofrecida por SQL
Server 2012 a las empresas de hoy.
Próximo Webcast
Muchas gracias por su
participación

Más contenido relacionado

Similar a Utilizando el plan cache para optimizar procesos de

Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayTips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayJuan Fabian
 
Curso de SQL y EXCEL IMPORTANTE PARA .pdf
Curso de SQL y EXCEL IMPORTANTE PARA .pdfCurso de SQL y EXCEL IMPORTANTE PARA .pdf
Curso de SQL y EXCEL IMPORTANTE PARA .pdfexpertoleonelmartine
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRAPALESTRA
 
Dimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualDimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualOmega Peripherals
 
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...SpanishPASSVC
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Julián Castiblanco
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnJulián Castiblanco
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...SolidQ
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...SpanishPASSVC
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasSpanishPASSVC
 
Buenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL ServerBuenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL ServerSolidQ
 
Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEduardo Castro
 
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?Eduardo Sojo
 
Web cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaWeb cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaJOSE AHIAS LOPEZ PORTILLO
 

Similar a Utilizando el plan cache para optimizar procesos de (20)

Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 SaturdayTips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
Tips en la instalación de Dynamics 365 FO - LBD, 365 Saturday
 
Curso de SQL y EXCEL IMPORTANTE PARA .pdf
Curso de SQL y EXCEL IMPORTANTE PARA .pdfCurso de SQL y EXCEL IMPORTANTE PARA .pdf
Curso de SQL y EXCEL IMPORTANTE PARA .pdf
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRA
 
Dimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualDimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtual
 
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
Cómo nos va a ayudar la tecnología de in memory en sql server 2014 para desem...
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Explorando los Sabores de Azure DW
Explorando los Sabores de Azure DWExplorando los Sabores de Azure DW
Explorando los Sabores de Azure DW
 
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
Global Azure Bootcamp 2016 Bogota SQL2016 dba IaaS PaaS v4
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOn
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Buenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL ServerBuenas prácticas que debes seguir en la administración de tu SQL Server
Buenas prácticas que debes seguir en la administración de tu SQL Server
 
Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql database
 
avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)
 
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
 
Modelo Tabulares con Azure SSAS
Modelo Tabulares con Azure SSASModelo Tabulares con Azure SSAS
Modelo Tabulares con Azure SSAS
 
Web cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaWeb cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - Arquitectura
 

Más de John Bulla

Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba Cloud
Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba CloudCertificaciones Técnicas Profesionales y Oferta Académica de Alibaba Cloud
Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba CloudJohn Bulla
 
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataIntroducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataJohn Bulla
 
Inteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftInteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftJohn Bulla
 
Servicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureServicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureJohn Bulla
 
CloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosCloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosJohn Bulla
 
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...John Bulla
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 8/8
Diplomado Técnico SQL Server 2012 - Sesión 8/8Diplomado Técnico SQL Server 2012 - Sesión 8/8
Diplomado Técnico SQL Server 2012 - Sesión 8/8John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8John Bulla
 
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
 
Diplomado Técnico SQL Server 2012 - Sesión 5/8
Diplomado Técnico SQL Server 2012 - Sesión 5/8Diplomado Técnico SQL Server 2012 - Sesión 5/8
Diplomado Técnico SQL Server 2012 - Sesión 5/8John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 4/8
Diplomado Técnico SQL Server 2012 - Sesión 4/8Diplomado Técnico SQL Server 2012 - Sesión 4/8
Diplomado Técnico SQL Server 2012 - Sesión 4/8John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 3/8
Diplomado Técnico SQL Server 2012 - Sesión 3/8Diplomado Técnico SQL Server 2012 - Sesión 3/8
Diplomado Técnico SQL Server 2012 - Sesión 3/8John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 2/8
Diplomado Técnico SQL Server 2012 - Sesión 2/8Diplomado Técnico SQL Server 2012 - Sesión 2/8
Diplomado Técnico SQL Server 2012 - Sesión 2/8John Bulla
 
Diplomado Técnico SQL Server 2012 - Sesión 1/8
Diplomado Técnico SQL Server 2012 - Sesión 1/8Diplomado Técnico SQL Server 2012 - Sesión 1/8
Diplomado Técnico SQL Server 2012 - Sesión 1/8John Bulla
 
Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012John Bulla
 
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...John Bulla
 
Windows Azure SQL Reporting
Windows Azure SQL ReportingWindows Azure SQL Reporting
Windows Azure SQL ReportingJohn Bulla
 
Integración de datos de multiples origenes con data explorer
Integración de datos de multiples origenes con data explorerIntegración de datos de multiples origenes con data explorer
Integración de datos de multiples origenes con data explorerJohn Bulla
 
SQL Server 2008 R2 StreamInsight
SQL Server 2008 R2 StreamInsightSQL Server 2008 R2 StreamInsight
SQL Server 2008 R2 StreamInsightJohn Bulla
 

Más de John Bulla (20)

Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba Cloud
Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba CloudCertificaciones Técnicas Profesionales y Oferta Académica de Alibaba Cloud
Certificaciones Técnicas Profesionales y Oferta Académica de Alibaba Cloud
 
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataIntroducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
 
Inteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftInteligencia de Negocios con Microsoft
Inteligencia de Negocios con Microsoft
 
Servicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureServicios de datos en Microsoft Azure
Servicios de datos en Microsoft Azure
 
CloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosCloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datos
 
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
 
Diplomado Técnico SQL Server 2012 - Sesión 8/8
Diplomado Técnico SQL Server 2012 - Sesión 8/8Diplomado Técnico SQL Server 2012 - Sesión 8/8
Diplomado Técnico SQL Server 2012 - Sesión 8/8
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8
 
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
 
Diplomado Técnico SQL Server 2012 - Sesión 5/8
Diplomado Técnico SQL Server 2012 - Sesión 5/8Diplomado Técnico SQL Server 2012 - Sesión 5/8
Diplomado Técnico SQL Server 2012 - Sesión 5/8
 
Diplomado Técnico SQL Server 2012 - Sesión 4/8
Diplomado Técnico SQL Server 2012 - Sesión 4/8Diplomado Técnico SQL Server 2012 - Sesión 4/8
Diplomado Técnico SQL Server 2012 - Sesión 4/8
 
Diplomado Técnico SQL Server 2012 - Sesión 3/8
Diplomado Técnico SQL Server 2012 - Sesión 3/8Diplomado Técnico SQL Server 2012 - Sesión 3/8
Diplomado Técnico SQL Server 2012 - Sesión 3/8
 
Diplomado Técnico SQL Server 2012 - Sesión 2/8
Diplomado Técnico SQL Server 2012 - Sesión 2/8Diplomado Técnico SQL Server 2012 - Sesión 2/8
Diplomado Técnico SQL Server 2012 - Sesión 2/8
 
Diplomado Técnico SQL Server 2012 - Sesión 1/8
Diplomado Técnico SQL Server 2012 - Sesión 1/8Diplomado Técnico SQL Server 2012 - Sesión 1/8
Diplomado Técnico SQL Server 2012 - Sesión 1/8
 
Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012Descubriendo los datos espaciales en sql server 2012
Descubriendo los datos espaciales en sql server 2012
 
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...
24 Horas Español 2012 - Desarrollando Base de Datos con .Net 4.0 y SQL Server...
 
Windows Azure SQL Reporting
Windows Azure SQL ReportingWindows Azure SQL Reporting
Windows Azure SQL Reporting
 
Integración de datos de multiples origenes con data explorer
Integración de datos de multiples origenes con data explorerIntegración de datos de multiples origenes con data explorer
Integración de datos de multiples origenes con data explorer
 
SQL Server 2008 R2 StreamInsight
SQL Server 2008 R2 StreamInsightSQL Server 2008 R2 StreamInsight
SQL Server 2008 R2 StreamInsight
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Utilizando el plan cache para optimizar procesos de

  • 1. Utilizando el Plan Cache para optimizar procesos de consultas John Alexander Bulla Torres - @johnbulla PASS – Regional Mentor Latam DPA - SolidQ http://geeks.ms/blogs/johnbulla - http://www.bdotnet.org
  • 2. AGENDA • 00:00 - 00:05 Bienvenida/ Introducción moderador • 00:05 - 00:45 Presentación por el Speaker • 00:45 - 00:55 P&R Moderadas por el anfitrión • 00:55 - 01:00 Agradecimientos y cierre Gracias por Asistir
  • 3. Asistencia Técnica • Asegúrate que todos estén en modo Mudo. • Por favor descarguen el cliente de Live Meeting. El cliente WEB no soporta Audio. • Clic en feedback (Parte superior derecha) y cambia tu estatus de color en caso de requerir apoyo del moderador. • Si tienes alguna pregunta, escríbela en el área de Preguntas & Respuestas.
  • 4. Mantente conectado con nosotros • Te podrás registrar en todas las sesiones que tenemos planificadas a través de nuestro link http://bit.ly/SQLPASSVENEZUELA. • Cualquier cambio/actualización los mantenemos informados a través de nuestro sitio web www.venezuela.sqlpass.org y a través de nuestra cuenta en las redes sociales • Puedes contactarnos o escribir algo en Twitter a través de la cuenta @sqlpassve o postea con el tag #SQLPASSVE • Si tienes Facebook puedes seguirnos en la página de https://www.facebook.com/sqlpassvzla #SQLPASSVE
  • 5. AGRADECIMIENTOS Agradecemos a nuestros patrocinadores por el apoyo a este evento y a SQL PASS VENEZUELA – Caracas Chapter José Redondo (Líder del Capítulo)
  • 6. Capítulo SQL PASS Venezuela Caracas Chapter Líder: José G. Redondo López 4 miembros coordinadores y +15 colaboradores Somos una comunidad técnica de profesionales de SQL Server ubicada en la ciudad de Caracas, Venezuela Nos unimos con el fin de conectar, aprender y compartir nuestra experiencia en el campo profesional bajo la plataforma de datos SQL Server a través del intercambio de conocimientos e información apoyándonos para ello en eventos en línea, presenciales, uso de redes sociales, eventos regionales y locales. Trabajamos a la par con Microsoft y sus asociados para influenciar en la evolución de los productos y servicios de SQL Server. www.venezuela.sqlpass.org
  • 9. INTRODUCCIÓN • Query Batch, Script, Batch Terminator
  • 12. PLAN DE EJECUCIÓN • Clustered Index Scan
  • 13. PLAN DE EJECUCIÓN • Clustered Index Seek
  • 16. PLAN DE EJECUCIÓN • Joins (Neested Loop Join, Merge Join y Hash Join)
  • 17. PLAN DE EJECUCIÓN • Agregaciones (Stream Aggregate, Hash Match)
  • 19.
  • 20. PLAN CACHE • Parte de la memoria SQL Server que almacena los planes de ejecución que han sido preparados por el optimizador de consultas. Los planes de ejecución se utilizan para SQL Server ejecute sentencias SQL.
  • 21. PLAN CACHE • sys.dm_exec_cached_plans • All Plans • Size • Use count • sys.dm_exec_query_plan(plan_handle) • Table Valued Function • SHOWPLAN XML as XML • sys.dm_exec_text_query_plan(plan_handle,0,-1) • Table Valued Function • SHOWPLAN XML as text
  • 22. sys.dm_exec_cached_plans • Devuelve una fila para cada plan de consulta que SQL Server almacena en caché para agilizar la ejecución. Puede usar esta vista de administración dinámica para ver los planes de consulta almacenados en caché, el texto de las consultas almacenadas en caché, la cantidad de memoria que ocupan los planes y el contador de reutilización de los planes almacenados en caché. • bucketid, refcounts, usecounts, size_in_bytes, memory_object_address, c acheobjtype, objtype, plan_handle, pool_id
  • 23. sys.dm_exec_query_plan(plan_handle) • Devuelve el plan de presentación en formato XML para el lote especificado por el identificador del plan. Este plan especificado por el identificador del plan puede estar almacenado en caché o ejecutándose. • dbid, objectid, number, encrypted, query_plan
  • 24. sys.dm_exec_text_query_plan • Devuelve el plan de presentación en formato de texto para un lote Transact-SQL o para una instrucción concreta dentro del mismo. Este plan de consulta especificado por el identificador del plan puede estar almacenado en caché o ejecutándose. Esta función con valores de tabla es similar a sys.dm_exec_query_plan (Transact-SQL), pero tiene las diferencias siguientes: • El resultado del plan de consulta se devuelve en formato de texto. • El resultado del plan de consulta no está limitado en tamaño. • Se pueden especificar instrucciones individuales dentro del lote. • dbid, objectid, number, encrypted, query_plan
  • 25.
  • 26. Resumen • Query Batch, Script, Batch Terminator • Planes de Ejecución • Plan Cache
  • 28. RECURSOS Dissecting SQL Server Execution Plans By Grant Fritchey http://bit.ly/ebookPlanEjecucion SQL Server Execution Plans By Grant Fritchey http://bit.ly/ebookSQLPlanEjecucion
  • 29. RECURSOS Inside the SQL Server Query Optimizer By Benjamin Nevarez http://www.benjaminnevarez.com/
  • 32. Los invitamos al Charlotte, NC Octubre 15 -18 http://www.sqlpass.org/summit/2013/
  • 33. Aplicando AlwaysOn Availability Groups en escenarios reales Fecha: Miercoles, Agosto 28 de 2013 - 12:30 Hora Venezuela Speaker: Edinson Medina. Regístrese en: http://bit.ly/SQLPASSVENEZUELA Descripción: Suministrar y consolidar las nuestras bondades de Alta Disponibilidad ofrecida por SQL Server 2012 a las empresas de hoy. Próximo Webcast
  • 34. Muchas gracias por su participación

Notas del editor

  1. Un lote de consultas es un conjunto de instrucciones Transact-SQL que se envían a SQL Server para su ejecución en una sola llamada. Un lote puede contener uno o más estados, tales como los siguientes:• SELECT, INSERT, UPDATE, DELETE y MERGE• llamadas a procedimientos almacenados (EXEC)• Transact-SQL estructuras de control, como SET, IF, WHILE, DECLARE• instrucciones DDL como CREATE, DROP y ALTER• Estados de DCL como GRANT, DENY y REVOKEUna secuencia de comandos es un conjunto de uno o más lotes de consulta, separados por un terminador de lote. El más común terminador de lote es la palabra &quot;GO&quot;. Es importante entender que el separador de lotes no es una instrucción de Transact-SQL y no tiene ningún significado para el motor de base de datos. Por ejemplo, considere el siguiente script: FiguraEl scritp contiene dos lotes. Cuando esta secuencia de comandos se ejecuta con una herramienta cliente como SQL Server Management Studio (SSMS), lo que podría parecer que la totalidad de la secuencia de comandos se envía al servidor para la ejecución, pero este no es el caso. SSMS divide la secuencia de comandos en lotes mediante la localización de la palabra. Líneas 1 a 3 se envían al motor de base de datos para ser ejecutado. Cuando finaliza la ejecución, las líneas 5 a 7 se envían al motor de base de datos para ser ejecutado.
  2. ELPlan de ejecución es el conjunto de pasos que tiene que realizar el motor para ejecutar la consulta.Cada vez que se ejecuta una consulta en un motor de bases de datos, el lote se compila en un plan e internamente se ejecutan una serie de operaciones, que varían según la consulta, los datos y obviamente, el motor de base de datos.
  3. Significa que el motor tiene que leer toda la tabla. Esto solo puede suceder cuando la tabla es Heap (o sea, no tiene un índice clustered). En algunos casos, cuando es una tabla chica, un TableScan es la mejor opción, ya que produce poco overhead. De hecho la tabla puede tener índices y sin embargo el SQL elige usar un tablescan porque sería más rápido. Pero cuando la tabla es más grande, no debería haber TableScan, ya que es muy costoso. Para solucionar este problema, hay ver si la tabla tiene índices y si se están usando correctamente. Lo importante es prestarle atención cuando vemos un tableScan. Muchas veces, nuestro problemas de performance pasan por ahí.
  4. Esta operación es muy similar a un tablescan. El motor recorre toda la tabla. La diferencia entre uno y otro, es que el ClusteredIndexScan se realiza en una tabla que tiene un índice Clustered y el TableScan en una tabla que no tiene este tipo de indice.Otra vez tenemos que evaluar si esta opción es la que realmente queremos. Muchas veces, por un mal uso de los índices, se ejecuta esta operación, cuando en realidad queríamos otra más eficiente.
  5. Si vemos esta operación, en general, podemos estar contentos. Significa que el motor está usando efectivamente el índice Clustered de la tabla.
  6. Aquí también si vemos esta operación, podemos estar contentos. Es similar que el ClusteredIndexSeek, pero con la diferencia de que se usa un indice Non Clustered.
  7. Aquí también si vemos esta operación, podemos estar contentos. Es similar que el ClusteredIndexSeek, pero con la diferencia de que se usa un indice Non Clustered.
  8. Un join es la relación entre 2 tablas. SQL tiene tres tipos de joins. NeestedLoopJoin, MergeJoin y Hash Join. Dependiendo de las características de la consulta y de la cantidad de registros, el motor puede decidir uno u otro.Ninguno es peor o mejor “per se”. Todo depende de las características de la consulta y del volumen de datos.NeestedLoopJoin: Suele ser generalmente el más frecuente. Es también el algoritmo más simple de todo. Este operador fisico es usado por el motor cuando tenemos un join entre 2 tablas y la cantidad de registros es relativamente baja. Tambien aplica con cierto tipo de joins (crossjoins por ejemplo).MergeJoin: Otro de los tipos de join que existen. Generalmente se usa cuando las cantidades de registros a comparar son relativamente grandes y están ordenadas. Aun si no están ordenadas, el motor puede predecir que es más rápido ordenar la tabla y hacer el mergejoin que hacer un NeestedLoopJoin. En muchas situaciones es frecuente ver que una consulta anteriormente usaba NeestedLoopJoin y en algún momento paso a usar un MergeJoin. La razón de esto, es porque el volumen de datos aumento y por lo tanto, es mas optimo usar un Mergejoin.Hash Join: Otro tipo más de join que existe. Mientras que los LoopJoins trabajan bien para conjuntos chicos de datos y los mergejoin para conjuntos moderados de datos, el hash join es especialmente útil en grandes conjuntos de datos, generalmente en datawarehouses. Este operador es mucho mas paralelizable y escalable. También se usa generalmente cuando las tablas relacionadas no tienen índice en ninguna de los campos a comparar. Hay que prestar atención si vemos este tipo de operaciones, ya que puede significar un mal uso de los índices. Sin embargo, los hash joins consumen mucha memoria y SQL Server tiene un límite en la cantidad de operaciones de este tipo que puede efectuar simultáneamente.
  9. Agregaciones:Las agregaciones refieren a agrupar un conjunto grande de datos en un conjunto de datos más chico.StreamAggregate: Este tipo de operaciones ocurre cuando hay se llama a un función de agregación, como MIN, COUNT, MAX, SUM, etc. El operador StreamAggregate requiere que la información esté ordenada por las columnas dentro de sus grupos. Primero, el optimizador ordenará si los datos no están ordenados por un operador Sort anterior. En cierta manera, el StreamAggregate es similar al MergeJoin, en cuanto a en que situaciones se produce.Hash Match (Aggregate): Hay que tener cuidado cuando vemos este operador. Esta operación también ocurre cuando se llama a funciones de agregación del tipo MIN, COUNT, AVG, etc. Así como el StreamAggregate es comparable al MergeJoin, el Hash Match Aggregate es similar al Hash Join. Lo que hace internamente es armar una tabla de hash. En situaciones donde la cantidad de registros es elevada o no se están indexadas las columnas por las cuales agrupa la consulta, el motor del SQL va a elegir esta operación.
  10. Agregaciones:Las agregaciones refieren a agrupar un conjunto grande de datos en un conjunto de datos más chico.StreamAggregate: Este tipo de operaciones ocurre cuando hay se llama a un función de agregación, como MIN, COUNT, MAX, SUM, etc. El operador StreamAggregate requiere que la información esté ordenada por las columnas dentro de sus grupos. Primero, el optimizador ordenará si los datos no están ordenados por un operador Sort anterior. En cierta manera, el StreamAggregate es similar al MergeJoin, en cuanto a en que situaciones se produce.Hash Match (Aggregate): Hay que tener cuidado cuando vemos este operador. Esta operación también ocurre cuando se llama a funciones de agregación del tipo MIN, COUNT, AVG, etc. Así como el StreamAggregate es comparable al MergeJoin, el Hash Match Aggregate es similar al Hash Join. Lo que hace internamente es armar una tabla de hash. En situaciones donde la cantidad de registros es elevada o no se están indexadas las columnas por las cuales agrupa la consulta, el motor del SQL va a elegir esta operación.
  11. La compilación es el proceso de crear un plan elaborado a partir de un lote de consultas.Cuando el motor de base de datos se inicia la ejecución de un plan elaborado, en primer lugar comprueba que el plan sigue siendo válido y óptima. Si cualquiera de estas comprobaciones falla, la declaración correspondiente al plan de consulta o el lote completo se compila de nuevo. Estas compilaciones son conocidos como &quot;recopilaciones&quot;.La elaboración de los planes de ejecución es una operación relativamente costosa, así que los desarrolladores del producto hicieron un intento de evitar estas costosas operaciones, realizando almacenamiento en caché de los planes compilados en una región de memoria de SQL Server denominada el plan cache. Si necesita otro lote de consultas para ser ejecutado, SQL Server busca en la caché del plan para posibles oportunidades de reutilización del plan. Si se logra la reutilización del plan, se evitan los costos de compilación.
  12. La compilación es el proceso de crear un plan elaborado a partir de un lote de consultas.Cuando el motor de base de datos se inicia la ejecución de un plan elaborado, en primer lugar comprueba que el plan sigue siendo válido y óptima. Si cualquiera de estas comprobaciones falla, la declaración correspondiente al plan de consulta o el lote completo se compila de nuevo. Estas compilaciones son conocidos como &quot;recopilaciones&quot;.