SlideShare una empresa de Scribd logo
#SQSummit
Una luz dentro del
mundo oculto de las
estadísticas de SQL
Server
Javier Loria
JLoria@solidq.com
/in/JavierSQL
@JavierSQL
Agenda
Que son? y para que se usan?
Creando estadísticas
Leyendo estadísticas
Manteniendo estadísticas
Qué son?
• Objetos que mantienen información sobre
columnas de tablas o vistas
• Selectividad
• Cardinalidad
• Densidad
• Se construyen:
• Automáticamente
• Indirectamente
• Directamente
Conceptos
• Grado en que puede distinguirse un valor del grupo.
• Sexo es menos selectivo que DNI
Selectividad
• Opuesto a Selectividad
• 1.0 / COUNT(DISTINCT <ColumnName>))
Densidad
• Número de Filas que satisface un predicado.
Cardinalidad
Para que sirven las estadísticas?
• Para hacer buenos planes de acceso.
• No son la única fuente de información
• sys.sysindexes: filas (rows) y páginas (dpages)
• Funciones de partición, CHECKs y otros
Demo
Planes y estadísticas
Demo
Conceptos
• Selectividad
• Densidad
• Cardinalidad
Consultas
• Diferentes parámetros:
diferentes planes
• Diferentes estadísticas:
diferentes planes
Estadística
Incorrecta
• Planes Sub-Óptimos
Creación de Estadísticas
• Automáticamente
• CREATE INDEX
• Columna se usa en un Predicado (WHERE o ON)
• BD en Auto_Create y sin Estadísticas
• Individualmente: CREATE STATISTICS
• Granel: SP_CREATESTATS --(IndexOnly)
• Indirectamente:
• Columnas fecha correlacionadas
(DATE_CORRELATION_OPTIMIZATION)
Demo
Creación de estadísticas
Demo
Índices • Asociados con una estadística
Predicados
de
Consultas
• Crean estadísticas, si se usa
AUTO_CREATE
Estadísticas
Incorrectas
• Planes Sub-Óptimos
Recomenda
ción
• SP
Fechas: • DATE_CORRELATION_OPTIMIZATION
Leyendo Estadísticas
STATS_DATE
function
SAMPLE option
o Default (8 Mb) WHERE
Doble Histograma: Rango y valor
Leyendo Estadísticas
Mínimo Siempre
Valor Max
Rango
Núm. Filas
Rango ][
Núm. Filas
= Llave
Valores
Distintos
SELECTIVIDAD
Núm. Filas
Promedio x Valor
(DENSIDAD)
Demo
Leyendo estadísticas
Demo
Resumen de Demo
Estadísticas
• Ayudan a estimar la cardinalidad
• Crean/Mantienen solas (Default)
• Campo para optimización.
DBCC
SHOW…
• Para evaluar la calidad
• Incorrectas? o Desactualizadas?
Estadísticas
• Guía de calidad de un índice.
• Sin respuestas definitivas
Como se aprende
a leer: • LEYENDO!
Mantenimiento de Estadísticas
• Automáticamente
• ALTER INDEX REBUILD
• CREATE INDEX WITH (DROP_EXISTING=ON)
• AUTO_UPDATE
• ALTER INDEX REORGANIZE
• Manualmente
• UPDATE_STATISTICS
• sp_updatestats
Porque importa?
IO: Leen la tabla
CPU: Recompilan los
comandos
Tiempo: Se hacen durante
la consulta (default)
AUTO_UPDATE_STATISTICS
• Caducan
• Tabla en Base de Datos Local:
• 0 a >0
• <=500 y cambios (1ra Fila) >500
• >500 y cambios (1da Fila) >500 + 20% filas originales
• Temporales
• <=6 y cambios (primera fila ) >6
• Variables Tabla: sin estadísticas
Flujo de (Re)Compilación
AUTO_UPDATE_STATISTICS_ASYNC
Actualización Asincrónica
• Sintaxis:
ALTER DATABASE STATDemo
SET AUTO_UPDATE_STATISTICS_ASYNC ON;
• Beneficio:
• Consultas más predecibles
• Menos riesgo de «TimeOut»
• Contras:
• Planes sub-óptimos
• Usar en VLDB
Demo
Actualización de estadísticas
Demo
DML
Up-Del
Ins-Merg
• Cambios en estadísticas
• Cambios en Planes
• Re-compilaciones
SQL 2005+
• Control por columna
• Reduce el impacto del Actualización
Temporales
• Cuidar las re-compilaciones
• Crear y Llenar al Principio
• Tablas grandes no usar variables.
VLDB • Asincrónicas?
Impacto de las Estadísticas
Con
Estadísticas
Sin
Estadísticas
Monitoreando con Profiler
• AutoStats
• stmtCompleted
• SELECT StatMan([SC0]) FROM (SELECT TOP 100
PERCENT <Columna> AS [SC0] FROM <Tabla> WITH
(READUNCOMMITTED) ORDER BY [SC0] ) AS
_MS_UPDSTATS_TBL
Demo
Actualización de estadísticas
Mejores Prácticas
• Mantener BD en:
• AUTO_CREATE_STATISTICS
• AUTO_UPDATE_STATISTICS
• En OLTP:
• 8x5: sp_updatestats (Diario o Semanal)
• 24x7: CREATE STATISTICS en JOBS durante horas de
poco trabajo.
• En DW Relacional:
• Apagar/Prender AUTO_CREATE/UPDATE en ETL.
Mejores Prácticas: Especiales
• Usa Auto-numéricos o Fechas Crecientes:
• Trace Flag: 2389 o 2389/2390.
• Trigger personalizado
• Job de Actualización de estadísticas seleccionadas.
• VLDB
• AUTO_UPDATE_STATISTICS_ASYNC
• Exceso de Re-compilaciones
• Considerar patrones de tablas temporales y opciones
"KEEP PLAN" y "KEEPFIXED PLAN"
• Usar STATISTICS_NORECOMPUTE en tablas específicas y
actualizar periódicamente.
• Evaluar: DATE_CORRELATION_OPTIMIZATION
Resumen
Que son? y para que se usan?
Creando estadísticas
Leyendo estadísticas
Manteniendo estadísticas
Una luz dentro del mundo oculto de
las estadísticas de SQL Server

Más contenido relacionado

Similar a Una luz dentro del mundo oculto de estadísticas SQL Server

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
 
Intensivo Power BI.pdf
Intensivo Power BI.pdfIntensivo Power BI.pdf
Intensivo Power BI.pdf
Ricardo Rey
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
SolidQ
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
UTN
 
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
Joseph Lopez
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
Julián Castiblanco
 
Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012
BILATAM
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
Joseph Lopez
 
Módulo I - Obteniendo y transformando datos.pptx
Módulo I - Obteniendo y transformando datos.pptxMódulo I - Obteniendo y transformando datos.pptx
Módulo I - Obteniendo y transformando datos.pptx
johmstone
 
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
Ruben Pertusa Lopez
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
Pablo Eduardo Meneses Leiva
 
Aplicaciones difusas manejo de grandes volúmenes de datos
Aplicaciones difusas manejo de grandes volúmenes de datosAplicaciones difusas manejo de grandes volúmenes de datos
Aplicaciones difusas manejo de grandes volúmenes de datos
Luis Fernando Aguas Bucheli
 
Inducción
InducciónInducción
Inducción
UDES - USTA
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
DorisNoraCarhuavilca1
 
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
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)
SolidQ
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
SolidQ
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
Enrique Catala Bañuls
 
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...
SpanishPASSVC
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
Enrique Catala Bañuls
 

Similar a Una luz dentro del mundo oculto de estadísticas SQL Server (20)

Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Intensivo Power BI.pdf
Intensivo Power BI.pdfIntensivo Power BI.pdf
Intensivo Power BI.pdf
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
 
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
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012Top BI Enhancements for Sql Server 2012
Top BI Enhancements for Sql Server 2012
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
Módulo I - Obteniendo y transformando datos.pptx
Módulo I - Obteniendo y transformando datos.pptxMódulo I - Obteniendo y transformando datos.pptx
Módulo I - Obteniendo y transformando datos.pptx
 
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
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
Aplicaciones difusas manejo de grandes volúmenes de datos
Aplicaciones difusas manejo de grandes volúmenes de datosAplicaciones difusas manejo de grandes volúmenes de datos
Aplicaciones difusas manejo de grandes volúmenes de datos
 
Inducción
InducciónInducción
Inducción
 
sesion 01_sql basico.pdf
sesion 01_sql basico.pdfsesion 01_sql basico.pdf
sesion 01_sql basico.pdf
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
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...
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ
 
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?
SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
SolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
SolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
SolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
SolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
SolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
SolidQ
 
R en relacional
R en relacionalR en relacional
R en relacional
SolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
SolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
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?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Último

Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 

Último (20)

Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 

Una luz dentro del mundo oculto de estadísticas SQL Server

  • 1. #SQSummit Una luz dentro del mundo oculto de las estadísticas de SQL Server Javier Loria JLoria@solidq.com /in/JavierSQL @JavierSQL
  • 2. Agenda Que son? y para que se usan? Creando estadísticas Leyendo estadísticas Manteniendo estadísticas
  • 3. Qué son? • Objetos que mantienen información sobre columnas de tablas o vistas • Selectividad • Cardinalidad • Densidad • Se construyen: • Automáticamente • Indirectamente • Directamente
  • 4. Conceptos • Grado en que puede distinguirse un valor del grupo. • Sexo es menos selectivo que DNI Selectividad • Opuesto a Selectividad • 1.0 / COUNT(DISTINCT <ColumnName>)) Densidad • Número de Filas que satisface un predicado. Cardinalidad
  • 5. Para que sirven las estadísticas? • Para hacer buenos planes de acceso. • No son la única fuente de información • sys.sysindexes: filas (rows) y páginas (dpages) • Funciones de partición, CHECKs y otros
  • 7. Demo Conceptos • Selectividad • Densidad • Cardinalidad Consultas • Diferentes parámetros: diferentes planes • Diferentes estadísticas: diferentes planes Estadística Incorrecta • Planes Sub-Óptimos
  • 8. Creación de Estadísticas • Automáticamente • CREATE INDEX • Columna se usa en un Predicado (WHERE o ON) • BD en Auto_Create y sin Estadísticas • Individualmente: CREATE STATISTICS • Granel: SP_CREATESTATS --(IndexOnly) • Indirectamente: • Columnas fecha correlacionadas (DATE_CORRELATION_OPTIMIZATION)
  • 10. Demo Índices • Asociados con una estadística Predicados de Consultas • Crean estadísticas, si se usa AUTO_CREATE Estadísticas Incorrectas • Planes Sub-Óptimos Recomenda ción • SP Fechas: • DATE_CORRELATION_OPTIMIZATION
  • 13. Leyendo Estadísticas Mínimo Siempre Valor Max Rango Núm. Filas Rango ][ Núm. Filas = Llave Valores Distintos SELECTIVIDAD Núm. Filas Promedio x Valor (DENSIDAD)
  • 15. Demo Resumen de Demo Estadísticas • Ayudan a estimar la cardinalidad • Crean/Mantienen solas (Default) • Campo para optimización. DBCC SHOW… • Para evaluar la calidad • Incorrectas? o Desactualizadas? Estadísticas • Guía de calidad de un índice. • Sin respuestas definitivas Como se aprende a leer: • LEYENDO!
  • 16. Mantenimiento de Estadísticas • Automáticamente • ALTER INDEX REBUILD • CREATE INDEX WITH (DROP_EXISTING=ON) • AUTO_UPDATE • ALTER INDEX REORGANIZE • Manualmente • UPDATE_STATISTICS • sp_updatestats
  • 17. Porque importa? IO: Leen la tabla CPU: Recompilan los comandos Tiempo: Se hacen durante la consulta (default)
  • 18. AUTO_UPDATE_STATISTICS • Caducan • Tabla en Base de Datos Local: • 0 a >0 • <=500 y cambios (1ra Fila) >500 • >500 y cambios (1da Fila) >500 + 20% filas originales • Temporales • <=6 y cambios (primera fila ) >6 • Variables Tabla: sin estadísticas
  • 20. Actualización Asincrónica • Sintaxis: ALTER DATABASE STATDemo SET AUTO_UPDATE_STATISTICS_ASYNC ON; • Beneficio: • Consultas más predecibles • Menos riesgo de «TimeOut» • Contras: • Planes sub-óptimos • Usar en VLDB
  • 22. Demo DML Up-Del Ins-Merg • Cambios en estadísticas • Cambios en Planes • Re-compilaciones SQL 2005+ • Control por columna • Reduce el impacto del Actualización Temporales • Cuidar las re-compilaciones • Crear y Llenar al Principio • Tablas grandes no usar variables. VLDB • Asincrónicas?
  • 23. Impacto de las Estadísticas Con Estadísticas Sin Estadísticas
  • 24. Monitoreando con Profiler • AutoStats • stmtCompleted • SELECT StatMan([SC0]) FROM (SELECT TOP 100 PERCENT <Columna> AS [SC0] FROM <Tabla> WITH (READUNCOMMITTED) ORDER BY [SC0] ) AS _MS_UPDSTATS_TBL
  • 26. Mejores Prácticas • Mantener BD en: • AUTO_CREATE_STATISTICS • AUTO_UPDATE_STATISTICS • En OLTP: • 8x5: sp_updatestats (Diario o Semanal) • 24x7: CREATE STATISTICS en JOBS durante horas de poco trabajo. • En DW Relacional: • Apagar/Prender AUTO_CREATE/UPDATE en ETL.
  • 27. Mejores Prácticas: Especiales • Usa Auto-numéricos o Fechas Crecientes: • Trace Flag: 2389 o 2389/2390. • Trigger personalizado • Job de Actualización de estadísticas seleccionadas. • VLDB • AUTO_UPDATE_STATISTICS_ASYNC • Exceso de Re-compilaciones • Considerar patrones de tablas temporales y opciones "KEEP PLAN" y "KEEPFIXED PLAN" • Usar STATISTICS_NORECOMPUTE en tablas específicas y actualizar periódicamente. • Evaluar: DATE_CORRELATION_OPTIMIZATION
  • 28. Resumen Que son? y para que se usan? Creando estadísticas Leyendo estadísticas Manteniendo estadísticas
  • 29. Una luz dentro del mundo oculto de las estadísticas de SQL Server