Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Query store

aprendiendo a enender el query store con sql server 2016

  • Login to see the comments

  • Be the first to like this

Query store

  1. 1. ##SQLSatMadrid Query Store Enrique Catala Bañuls MVP , Mentor at SolidQ | ecatala@solidq.com | enrique@enriquecatala.com | @enriquecatala | www.enriquecatala.com
  2. 2. ##SQLSatMadrid BIG Thanks to SQLSatMadrid Sponsors
  3. 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. 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. 5. ##SQLSatMadrid Contenido de la sesión  Live Query Statistics (LQS)  Query Store
  6. 6. ##SQLSatMadrid El infierno del DBA La aplicación no responde Rendimiento aleatorio Problemas de regresion
  7. 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. 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
  9. 9. ##SQLSatMadrid Demo Live Query Statistics
  10. 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. 11. ##SQLSatMadrid El infierno del DBA La aplicación no responde Rendimiento aleatorio Problemas de regresion
  12. 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. 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. 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. 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. 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. 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. 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. 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
  20. 20. ##SQLSatMadrid Demo Query Store
  21. 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. 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. 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
  24. 24. ##SQLSatMadrid GRACIAS! ecatala@solidq.com www.solidq.com @enriquecatala www.enriquecatala.com

×