Veremos las novedades en el generador de planes de ejecución que aparecen en SQL Server 2016 y vNext. ¿Qué nos aportan?

 

Ya podéis ver la presentación aquí:



  1. SOLIDQ SUMMIT MADRID 2017 #SQSummit17 Enrique Catalá | Mentor | Planes de Ejecución 3.0: SQL Server 2016 y 2017
  2. SOLIDQ SUMMIT MADRID 2017 Agenda
  3. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 • Envia datos a la CPU • Implementado por todos los operadores GetNext() • Invocaciones GetNext() fila a fila • El habitual en OLTP Row Mode • Invocaciones GetNext() por ~900 filas • Beneficios 10x-100x • Requiere columnstore Batch Mode
  4. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Compatibility Level Guarantees Query Optimizer Improvements under Trace Flag 4199 New Referential Integrity Operator Parallel Update of Sampled Statistics Sublinear Threshold for Update of Statistics Additions to the New Cardinality Estimator (New CE) Misc. Enhancements
  5. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Batch query processing in serial queries Sort operators in batch mode Window aggregates in batch mode Distinct aggregates in batch mode Parallel INSERT SELECT into heaps and CCI Heap scans for memory-optimized tables Parallel scans for memory-optimized tables Sampled and auto-update stats for memory-optimized tables String and Aggregate Pushdowns
  6. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Trace flag “mágico” para QO https://support.microsoft.com/en-us/kb/974006
  7. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 NO_PERFORMANCE_SPOOL [MAX|MIN]_GRANT_PERCENT ‘DISABLE_OPTIMIZED_NESTED_LOOP’ ‘FORCE_LEGACY_CARDINALITY_ESTIMATION’ ‘ENABLE_QUERY_OPTIMIZER_HOTFIXES’ ‘ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES’ ‘ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS’ ‘ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS’ ‘FORCE_DEFAULT_CARDINALITY_ESTIMATION’ ‘DISABLE_PARAMETER_SNIFFING’ ‘DISABLE_OPTIMIZER_ROWGOAL’ ENABLE_PARALLEL_PLAN_PREFERENCE
  8. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Adaptative Query Processing Plan regression prevention WAITSTATS en QueryStore
  9. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Adaptative Joins • Detectar un mal operador en ejecución y cambiarlo por otro • Parameter sniffing bye bye! Interleaved execution • MultiStatementTVF con estimacion de filas ajustadas al vuelo Batch mode memory grant • Actualización de reservas de memoria para siguientes ejecucionesSOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017
  10. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 COMPATIBILITY LEVEL 140 JOIN eligible para NESTED LOOPS y HASH JOIN HASH JOIN en batch mode (columnstore) Alternativas con MERGE JOIN con el mismo outer reference
  11. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Ejecutar plan nuevo Resumir optimizacion usando cardinalidades del subarbol materializado Materializar subarbol Identificar candidatos para ejecucion entrelazada Comienzo optimización
  12. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 COMPATIBILITY LEVEL 140 Solo queries (no DML) Solo para MSTVFs No usadas en CROSS APPLY
  13. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 AUTOMATIC_TUNING FLAG a nivel de BBDD ON-OFF DBA útil No afecta a nuestras decisiones Compatible con sp_query_store_force_plan ADMINISTRABLE Sys.dm_db_tuning_recommendations
  14. SOLIDQ SUMMIT MADRID 2017SOLIDQ SUMMIT MADRID 2017 Enterprise Edition Compatibility_level = 140 Query Store Activado AUTOMATIC_TUNING (FORCE_LAST_GOOD_PLAN = ON )
  15. SOLIDQ SUMMIT MADRID 2017 • +500h de trabajo • Clases 100% ONLINE en directo • Proyecto fin de máster real para tu empresa • Tutorías bajo demanda • Laboratorios virtuales guiados paso a paso • Invitación 1 día al SolidQ Summit Madrid • Te ayudamos en tus proyectos de BI & Analytics CONTENIDOS • BI & Analytics Overview • Data Warehousing y Modelo Dimensional • Obtención de datos. ETL e Integración • Soluciones Analíticas • Análisis y Visualización de la información • Proyecto Fin de Máster “Con la evolución de los tiempos, es imprescindible estudiar todo lo que tiene que ver con real-time, analytics y el mundo de los datos. Por lo que, consideré que tener formación en BI me podría ser muy útil y me venía muy bien personalmente, porque nuestro sistema trata con muchísimas transacciones y muchísima carga y ‘el relacional’ ya se nos estaba quedando pequeño. El máster nos dio una visión bastante general de cómo implementar un proyecto y gestionarlo tú mismo y cómo ver las soluciones de distintas maneras. Aunque tenía mis dudas de hacer una formación online, la valoración es bastante positiva, las clases son muy interactivas y al final salió todo muy bien.” Adolfo Gabriel VP Software Development, Payvision Máster en BI & Analytics Alumni ¡Plazas Limitadas! Más información: http://www.solidq.com/es/masterbi CONTENIDOS • BI & Analytics Overview • Data Warehousing y Modelo Dimensional • Obtención de datos. ETL e Integración • Soluciones Analíticas • Análisis y Visualización de la información • Proyecto Fin de Máster
Enrique Catalá