SlideShare una empresa de Scribd logo
##SQLSatMadrid
Query Store
Enrique Catala Bañuls
MVP , Mentor at SolidQ
| ecatala@solidq.com
| enrique@enriquecatala.com
| @enriquecatala
| www.enriquecatala.com
##SQLSatMadrid
BIG Thanks to SQLSatMadrid Sponsors
##SQLSatMadrid
4 Sponsor Sessions at 11:40
Don’t miss them, they might be getting
distributing some awesome prizes!
 HPE
 SolidQ
 KABEL
 TSD Consulting
Also BIG Raffle prizes at the end of the
event provided by:
Plainconcepts, SolidQ, Kabel, TSD
Consulting, Pyramid Analytics & sqlpass.es
##SQLSatMadrid
Enrique Catalá Bañuls
 Ingeniero Informático
 Microsoft Data Platform
MVP
 Mentor en SolidQ
 Tuning y alta disponibilidad
ecatala@solidq.com | www.solidq.com
@enriquecatala | www.enriquecatala.com
##SQLSatMadrid
Contenido de la sesión
 Live Query Statistics (LQS)
 Query Store
##SQLSatMadrid
El infierno del DBA
La aplicación
no responde
Rendimiento
aleatorio
Problemas
de regresion
##SQLSatMadrid
Live Query Statistics (LQS)
 Identificación rápida
de cuellos de botella
 Ver en tiempo real
 Filas/sec
 Tiempo consumido
 Progreso de
operador
 Warnings
##SQLSatMadrid
Live Query Statistics (LQS)
 DMVs
 sys.dm_exec_requests
 sys.dm_exec_sql_text
 sys.dm_exec_query_memory_grants
 sys.dm_exec_query_plan
 sys.dm_exec_query_profiles
 Activación
 SET STATISTICS XML ON | SET STATISTICS
PROFILE ON
 Xevents capturando query_post_execution_showplan
##SQLSatMadrid
Demo
Live Query Statistics
##SQLSatMadrid
Live Query Statistics
 Limitaciones
 Tiene que ser activado previa ejecución de la
query
 No se soportan procedimientos almacenados
compilados nativos
 Requiere
 SHOWPLAN para ver la pestaña resultados
 VIEW SERVER STATE para ver estadísticas live
##SQLSatMadrid
El infierno del DBA
La aplicación
no responde
Rendimiento
aleatorio
Problemas
de regresion
##SQLSatMadrid
Regresión de rendimiento
 El optimizador utiliza dos tipos de clave
 Conforme los parámetros cambian, el plan de
ejecución óptimo puede ser otro
Y si lo estima
incorrectamente?
##SQLSatMadrid
Query Store: ¿Por qué?
Problemas
• Tiempo
detección
incidencias
• Tiempo
resolución del
problema
Soluciones
• Información de
rendimiento
historico
• Forzar plan
anterior
mediante GUI
##SQLSatMadrid
Query Store: Cómo funciona
 Texto de
consulta
 Métricas de
rendimiento
 Historificado por
tiempo
 Permite forzado
de planes
 Configuracion
de recolecciónDurability latency controlled by DB
option
DATA_FLUSH_INTERNAL_SECONDS
Query Store
Async write-
back
Compile
Execute
SQL
Plan store
Runtime
stats
Query
Store
schema
Compile
MSG
Execute
MSG
Async write-back
Query
Store
##SQLSatMadrid
Query Store: Cómo funciona
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
##SQLSatMadrid
Query Store: Almacenamiento
Captura de datos en memoria para minimizar E/S
Persistencia de datos asíncrona en background
Query execution Query Store
async
Compile
Execute
Query Store
plan store
Runtime
stats store
Internal
tables
Query text and plan
Query execute stats
##SQLSatMadrid
Query Store: Lectura
Vistas de mezcla entre datos in-memory y on-disk
Los usuarios siempre ven el “ultimo” dato
Query execution Query Store
async
Compile
Execute
Query Store
plan store
Runtime
stats store
Internal
tables
Query text and plan
Query execute stats
Query Store views (TVF)
##SQLSatMadrid
Query Store: Tracking
Tablas internas
Query
text
Query Plan
Runtime
stats
1 -n1 -n
Context
settings
sys.
Compile stats
query_store_query_text
query_context_settings
query_store_query
query_store_plan
Runtime stats
query_store_runtime_stats_inter
val
query_store_runtime_stats
Vistas expuestas
One row per query text, per
plan affecting option
(example: ANSI NULLS
on/off)
One row per
plan (for each
query)
Runtim
e stats
interval
One row per
plan, per time
interval
(example: 5 min)
##SQLSatMadrid
Query Store: configuraciones
 Operation mode [OFF | READ_ONLY | READ_WRITE]
 Actual | Requested (status)
 Data flush interval (minutes)
 Statistics Collection Interval (minutes)
 Max Size (MB)
 Capture Mode [None | ALL | AUTO]
 Stale Query Threshold (Days)
 Purge Query Data
##SQLSatMadrid
Demo
Query Store
##SQLSatMadrid
Query Store: Uso típico
Activar Query
Store
(ALTER DB)
Captura de
datos por
Query Store
Buscar
“patrónes
problemático
s”
Aplicar
FORCE
PLAN
##SQLSatMadrid
Query Store: Uso típico
 Queries con regresión de rendimiento
 Queries con regresión de rendimiento en
período de tiempo
 Queries con mayor coste en un período de
tiempo
 Coste de compilación de queries
 Forzar plan de ejecución
##SQLSatMadrid
Encontrar y
arreglar
problemas de
regresión
Identificar
queries
“pesadas”
Realizar
análisis en
profundidad
de cargas de
trabajo
Reducir
riesgos ante
migraciones
Largo plazo/estratégicoCorto plazo/táctico
Query Store: Repaso
##SQLSatMadrid
GRACIAS!
ecatala@solidq.com
www.solidq.com
@enriquecatala
www.enriquecatala.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Consideraciones de discos sql server hardware
Consideraciones de discos sql server hardwareConsideraciones de discos sql server hardware
Consideraciones de discos sql server hardware
 
Introducción al SQL Server 2016 Query Store
Introducción al SQL Server 2016 Query StoreIntroducción al SQL Server 2016 Query Store
Introducción al SQL Server 2016 Query Store
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...Oracle Analytics Cloud - Características y migración desde Oracle Business In...
Oracle Analytics Cloud - Características y migración desde Oracle Business In...
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
 
Que hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesQue hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis Services
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracle
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL Server
 
Webinar - Consolidación de Bases de Datos Oracle en Exadata
Webinar - Consolidación de Bases de Datos Oracle en ExadataWebinar - Consolidación de Bases de Datos Oracle en Exadata
Webinar - Consolidación de Bases de Datos Oracle en Exadata
 

Destacado

Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
Ronald Huere Arias
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
nnakasone
 
Strategies for Distributed Data Storage
Strategies for Distributed Data StorageStrategies for Distributed Data Storage
Strategies for Distributed Data Storage
kakugawa
 

Destacado (20)

Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
 
Sharepoint
SharepointSharepoint
Sharepoint
 
Sql Server 2008 Administracion
Sql Server 2008 AdministracionSql Server 2008 Administracion
Sql Server 2008 Administracion
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Dificultades en las tic en la eduación
Dificultades en las tic en la eduaciónDificultades en las tic en la eduación
Dificultades en las tic en la eduación
 
Minding SQL Server Memory
Minding SQL Server MemoryMinding SQL Server Memory
Minding SQL Server Memory
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOn
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
 
Database storage engines
Database storage enginesDatabase storage engines
Database storage engines
 
Guías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql serverGuías y recomendaciones para instalar y configurar clusters de sql server
Guías y recomendaciones para instalar y configurar clusters de sql server
 
Tipos de datos sql server 2014
Tipos de datos sql server 2014Tipos de datos sql server 2014
Tipos de datos sql server 2014
 
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
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
 
Trucos, OptimizacióN Y Buenas PráCticas Para Sql
Trucos, OptimizacióN Y Buenas PráCticas Para SqlTrucos, OptimizacióN Y Buenas PráCticas Para Sql
Trucos, OptimizacióN Y Buenas PráCticas Para Sql
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
 
Curriculo vitae
Curriculo vitaeCurriculo vitae
Curriculo vitae
 
Strategies for Distributed Data Storage
Strategies for Distributed Data StorageStrategies for Distributed Data Storage
Strategies for Distributed Data Storage
 
Texto digital
Texto digitalTexto digital
Texto digital
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql server
 

Similar a Query store

24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
SpanishPASSVC
 
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
Omega Peripherals
 

Similar a Query store (20)

Explorando los Sabores de Azure DW
Explorando los Sabores de Azure DWExplorando los Sabores de Azure DW
Explorando los Sabores de Azure DW
 
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
 
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
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
Bases de Datos en Kubernetes
Bases de Datos en KubernetesBases de Datos en Kubernetes
Bases de Datos en Kubernetes
 
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBDTips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
Tips en la instalación de Dynamics 365 Finance and Operations On Premise - LBD
 
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
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016
 
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
 
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
 
Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014
 
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...
 
Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish
 
Servicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureServicios de datos en Microsoft Azure
Servicios de datos en Microsoft Azure
 
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
 
Global Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalakeGlobal Azure Cloud Camp Bogota Introduccion Azure datalake
Global Azure Cloud Camp Bogota Introduccion Azure datalake
 
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
 
Presentacion Expo Work International 2022 - Big Data and Business Intelligenc...
Presentacion Expo Work International 2022 - Big Data and Business Intelligenc...Presentacion Expo Work International 2022 - Big Data and Business Intelligenc...
Presentacion Expo Work International 2022 - Big Data and Business Intelligenc...
 
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
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 

Más de Enrique Catala Bañuls

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

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
 
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 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
 
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)
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
 
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
 
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
 
Planes de ejecución en sql server 2014
Planes de ejecución en sql server 2014Planes de ejecución en sql server 2014
Planes de ejecución en sql server 2014
 
Transacciones diferidas
Transacciones diferidasTransacciones diferidas
Transacciones diferidas
 
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
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 

Último (20)

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 

Query store

  • 1. ##SQLSatMadrid Query Store Enrique Catala Bañuls MVP , Mentor at SolidQ | ecatala@solidq.com | enrique@enriquecatala.com | @enriquecatala | www.enriquecatala.com
  • 2. ##SQLSatMadrid BIG Thanks to SQLSatMadrid Sponsors
  • 3. ##SQLSatMadrid 4 Sponsor Sessions at 11:40 Don’t miss them, they might be getting distributing some awesome prizes!  HPE  SolidQ  KABEL  TSD Consulting Also BIG Raffle prizes at the end of the event provided by: Plainconcepts, SolidQ, Kabel, TSD Consulting, Pyramid Analytics & sqlpass.es
  • 4. ##SQLSatMadrid Enrique Catalá Bañuls  Ingeniero Informático  Microsoft Data Platform MVP  Mentor en SolidQ  Tuning y alta disponibilidad ecatala@solidq.com | www.solidq.com @enriquecatala | www.enriquecatala.com
  • 5. ##SQLSatMadrid Contenido de la sesión  Live Query Statistics (LQS)  Query Store
  • 6. ##SQLSatMadrid El infierno del DBA La aplicación no responde Rendimiento aleatorio Problemas de regresion
  • 7. ##SQLSatMadrid Live Query Statistics (LQS)  Identificación rápida de cuellos de botella  Ver en tiempo real  Filas/sec  Tiempo consumido  Progreso de operador  Warnings
  • 8. ##SQLSatMadrid Live Query Statistics (LQS)  DMVs  sys.dm_exec_requests  sys.dm_exec_sql_text  sys.dm_exec_query_memory_grants  sys.dm_exec_query_plan  sys.dm_exec_query_profiles  Activación  SET STATISTICS XML ON | SET STATISTICS PROFILE ON  Xevents capturando query_post_execution_showplan
  • 10. ##SQLSatMadrid Live Query Statistics  Limitaciones  Tiene que ser activado previa ejecución de la query  No se soportan procedimientos almacenados compilados nativos  Requiere  SHOWPLAN para ver la pestaña resultados  VIEW SERVER STATE para ver estadísticas live
  • 11. ##SQLSatMadrid El infierno del DBA La aplicación no responde Rendimiento aleatorio Problemas de regresion
  • 12. ##SQLSatMadrid Regresión de rendimiento  El optimizador utiliza dos tipos de clave  Conforme los parámetros cambian, el plan de ejecución óptimo puede ser otro Y si lo estima incorrectamente?
  • 13. ##SQLSatMadrid Query Store: ¿Por qué? Problemas • Tiempo detección incidencias • Tiempo resolución del problema Soluciones • Información de rendimiento historico • Forzar plan anterior mediante GUI
  • 14. ##SQLSatMadrid Query Store: Cómo funciona  Texto de consulta  Métricas de rendimiento  Historificado por tiempo  Permite forzado de planes  Configuracion de recolecciónDurability latency controlled by DB option DATA_FLUSH_INTERNAL_SECONDS Query Store Async write- back Compile Execute SQL Plan store Runtime stats Query Store schema Compile MSG Execute MSG Async write-back Query Store
  • 15. ##SQLSatMadrid Query Store: Cómo funciona 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
  • 16. ##SQLSatMadrid Query Store: Almacenamiento Captura de datos en memoria para minimizar E/S Persistencia de datos asíncrona en background Query execution Query Store async Compile Execute Query Store plan store Runtime stats store Internal tables Query text and plan Query execute stats
  • 17. ##SQLSatMadrid Query Store: Lectura Vistas de mezcla entre datos in-memory y on-disk Los usuarios siempre ven el “ultimo” dato Query execution Query Store async Compile Execute Query Store plan store Runtime stats store Internal tables Query text and plan Query execute stats Query Store views (TVF)
  • 18. ##SQLSatMadrid Query Store: Tracking Tablas internas Query text Query Plan Runtime stats 1 -n1 -n Context settings sys. Compile stats query_store_query_text query_context_settings query_store_query query_store_plan Runtime stats query_store_runtime_stats_inter val query_store_runtime_stats Vistas expuestas One row per query text, per plan affecting option (example: ANSI NULLS on/off) One row per plan (for each query) Runtim e stats interval One row per plan, per time interval (example: 5 min)
  • 19. ##SQLSatMadrid Query Store: configuraciones  Operation mode [OFF | READ_ONLY | READ_WRITE]  Actual | Requested (status)  Data flush interval (minutes)  Statistics Collection Interval (minutes)  Max Size (MB)  Capture Mode [None | ALL | AUTO]  Stale Query Threshold (Days)  Purge Query Data
  • 21. ##SQLSatMadrid Query Store: Uso típico Activar Query Store (ALTER DB) Captura de datos por Query Store Buscar “patrónes problemático s” Aplicar FORCE PLAN
  • 22. ##SQLSatMadrid Query Store: Uso típico  Queries con regresión de rendimiento  Queries con regresión de rendimiento en período de tiempo  Queries con mayor coste en un período de tiempo  Coste de compilación de queries  Forzar plan de ejecución
  • 23. ##SQLSatMadrid Encontrar y arreglar problemas de regresión Identificar queries “pesadas” Realizar análisis en profundidad de cargas de trabajo Reducir riesgos ante migraciones Largo plazo/estratégicoCorto plazo/táctico Query Store: Repaso