SlideShare una empresa de Scribd logo
Es TempDB, porque es tan
importante?
Javier Loria
Mentor
SolidQ
SQL Saturday Sponsors

             Gold Sponsors




             Silver Sponsors




             Bronze Sponsors
Javier Loria




               Tim Radney
Itzik Ben-Gan
Eladio Rincón
Fabiano Amorim
Adam Machanic
Paul S. Randal
Tim Radney
Steve Stedman
…
Quién es TempDB?
TempDB




                     http://www.microsoft.com
                     http://www.tempdb.com
                     It’s complicated




TempDB es como cualquier otra base de datos
         casi
casi

 No persiste
  • Se recrea cada vez que SQL se apaga

 Solo tiene un Filegroup
  • Pero puede tener múltiples archivos.

 Puede hacer Rollback
  • Pero no Rollforward (Redo)

 Restricciones
  • Única, AUTOSHRINK, CHECKSUM, Snapshots
Qué es TempDB?
Recurso global
Que almacena?
1   Objetos Internos


2       Objetos de Usuario


    3   Versionamiento
Service         LOB o XML
    Broker
                    Resultados intermedios
                    Hash JOIN/Agregados

 Index
creation




   Resultados
  intermedios
  para ordenar
                             Resultados
                 Cursores   Intermedios
 1 Internos                 de Consultas
1 Operadores
                          Spool
                          • Lazy/Eager


            Sort
                              Spool
                           NonClustered

       Hash Match
       • Join/Aggregate
                               Spool
                             RowCount



                            Spool Table
• DISTINCT
  • JOIN
  • TOP / WHERE

 Sin
Demo


                    Demo

       • ORDER BY
       • UNION
Plan de Ejecución Estimado




         Plan de Ejecución Real
1   SORT_IN_TEMPDB




    CREATE NONCLUSTERED INDEX FLPS242D
    ON dbo.FLPS242(PaiCod, DivNiv1Cod,
    EstNum, EscNumDet, PGETarNum,
    PGECtaObjCod, PGECatCtaObjCod
    )WITH (SORT_IN_TEMPDB = ON);
Si tiene disco(s) separados
para TempDB: SORT_IN_TEMPDB
2
          Tablas Temporales
Usuario
          Tablas Temporales
               Globales

           Variables Tabla

          Tablas funciones
           “Table-Value”
2
SUBCONSULTAS    TABLAS TEMPORALES
     CTE     VS VARIABLES TABLA
    VISTAS
2
VARIABLES TABLA VS TABLAS TEMPORALES
                              TEMPORARY
                                TABLES    TABLE VARIABLES
Statistics                       Yes           No
                                            Only with
Indexes                          Yes       constraints
Schema modifications             Yes          No
Available in child routines
including sp_executesql          Yes           No
Use with INSERT INTO … EXEC      Yes           No
In memory structures             No            No
• En general: Subconsultas, Vistas
  y CTES ofrecen mejor desempeño,
  pero …

• Variables tabla para número bajo
  de filas sino Tablas Temporales
Tipos de Funciones




             Multi-
Escalares               En Línea
            Sentencia
Tipos de Funciones

            •Mono-hilo
            •Interpretadas


Escalares
Tipos de Funciones
            •Múltiples
             comandos
            •Almacenan
             en TempDB
 Multi-
Sentencia
Tipos de Funciones
           •Funcionalidad
            limitada
           •Sin cuerpo
           •Mono-SELECT

En Línea
• De preferencia usar funciones En
  línea (In-Line).
• Si se requiere la funcionalidad
  multi-sentencia, pero con número
  filas limitado.
Versionamiento                                     3




               Read
 Snapshot               Online           After
             Commited            MARS
 isolation              Index           Triggers
             Snapshot
Evita el “Shared Lock”= No
espero consistencia



     Puede retornar la misma
     fila, varias veces



     Puede brincarse filas
     commited



Tiende a producir INDEX SCAN,
y otros efectos colaterales
Cuando salen
mal las cosas?
Estructura
  FISICA
PFS
Páginas
          GAM
          SGAM
Extents
          IAM
Página
Extent
Byte por página


                        HEAPS
                        LOB
                        OVERFLOW




PFS
Global Allocation Map




                   Libre



Mixto
                           Estado



        Uniforme

0
        0
                   1
                                                GAM


                           GAM
                                    Shared Allocation Map




1
        0
                   0
                           SGAM
                                                SGAM
                                                            Bit por Extent




                                     Index Allocation Map
                                                IAM
• 1 Archivo por núcleo (core), hasta 8.

<=8
       • 8 archivos por los 8 primeros núcleos.

9-16   • 1 archivo por cada 2 núcleos
         adicionales.


       • 12 archivos para los primeros 16

>16      núcleos
       • +1 archivos para cada 4 núcleos.
• Lo que sea necesario
Tamaño   • En dividido en cantidades iguales
           por archivos


         • RAID 10 $$$
 RAID    • RAID 1 $



         • Discos Rápidos
  IO     • En algunos ambientes separar el
           LOG de la BD
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?

Más contenido relacionado

La actualidad más candente

SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
Eduardo Castro
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12
SolidQ
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
Eduardo Castro
 
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
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
Joseph Lopez
 
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
Eduardo Castro
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
Eduardo Castro
 
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
Eduardo Castro
 
10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs
dbLearner
 
Query store
Query storeQuery store
Gestión de base de datos ii
Gestión de base de datos iiGestión de base de datos ii
Gestión de base de datos iibane12
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
Eduardo Castro
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
Eduardo Castro
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
Eduardo Castro
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache Spark
Eduardo Castro
 
Column stored index
Column stored index Column stored index
Column stored index
SolidQ
 
Base de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-serverBase de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-server
thalia margarita serrano diaz
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
SolidQ
 

La actualidad más candente (19)

SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
 
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
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
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
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
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
 
10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs10 Tips ‘n’ Tricks for DBAs
10 Tips ‘n’ Tricks for DBAs
 
Query store
Query storeQuery store
Query store
 
Gestión de base de datos ii
Gestión de base de datos iiGestión de base de datos ii
Gestión de base de datos ii
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Migración a sql server 2008
Migración a sql server 2008Migración a sql server 2008
Migración a sql server 2008
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache Spark
 
Column stored index
Column stored index Column stored index
Column stored index
 
Base de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-serverBase de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-server
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 

Destacado

BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
SolidQ
 
FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
SolidQ
 
Sistema de información geográfico
Sistema de información geográficoSistema de información geográfico
Sistema de información geográficojuanksi28
 
La analítica de datos aplicado al sector automovilístico
La analítica de datos aplicado al sector automovilísticoLa analítica de datos aplicado al sector automovilístico
La analítica de datos aplicado al sector automovilístico
SolidQ
 
Introducción R - Primeros pasos
Introducción R - Primeros pasosIntroducción R - Primeros pasos
Introducción R - Primeros pasos
SolidQ
 
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
SSRS modelo IaaS en la Nube | SolidQ Summit 2014SSRS modelo IaaS en la Nube | SolidQ Summit 2014
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
SolidQ
 
Cortana Analytics suite
Cortana Analytics suiteCortana Analytics suite
Cortana Analytics suite
SolidQ
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework
SolidQ
 
Novedades en SSAS 2016
Novedades en SSAS 2016Novedades en SSAS 2016
Novedades en SSAS 2016
SolidQ
 
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
SolidQ
 
Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)
Stalin Eduardo Tusa Vitar
 
Polybase
PolybasePolybase
Polybase
SolidQ
 

Destacado (14)

BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
 
Sistema de información geográfico
Sistema de información geográficoSistema de información geográfico
Sistema de información geográfico
 
La analítica de datos aplicado al sector automovilístico
La analítica de datos aplicado al sector automovilísticoLa analítica de datos aplicado al sector automovilístico
La analítica de datos aplicado al sector automovilístico
 
Introducción R - Primeros pasos
Introducción R - Primeros pasosIntroducción R - Primeros pasos
Introducción R - Primeros pasos
 
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
SSRS modelo IaaS en la Nube | SolidQ Summit 2014SSRS modelo IaaS en la Nube | SolidQ Summit 2014
SSRS modelo IaaS en la Nube | SolidQ Summit 2014
 
Cortana Analytics suite
Cortana Analytics suiteCortana Analytics suite
Cortana Analytics suite
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework
 
Novedades en SSAS 2016
Novedades en SSAS 2016Novedades en SSAS 2016
Novedades en SSAS 2016
 
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
Transacciones diferidas en SQL Server 2014 | SolidQ Summit 2014
 
Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)
 
Polybase
PolybasePolybase
Polybase
 
SIG y sus componentes
SIG y sus componentesSIG y sus componentes
SIG y sus componentes
 
Sistema de Localización Geográfica
Sistema de Localización Geográfica Sistema de Localización Geográfica
Sistema de Localización Geográfica
 

Similar a Es TEMPDB, por qué es tan importante?

Sistemas operativos y Ley de Amdahl
Sistemas operativos y Ley de AmdahlSistemas operativos y Ley de Amdahl
Sistemas operativos y Ley de Amdahl
Jorge Luis Arista Coronel
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
Enrique Catala Bañuls
 
Curso Oracle11g. Eficacia en el desarrollo de Aplicaciones
Curso Oracle11g. Eficacia en el desarrollo de AplicacionesCurso Oracle11g. Eficacia en el desarrollo de Aplicaciones
Curso Oracle11g. Eficacia en el desarrollo de Aplicaciones
CLEFormación
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidos
Raul Fraile
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Alexander Calderón
 
Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011
Lennin Caro
 
Taller Redis
Taller RedisTaller Redis
Taller Redisbetabeers
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
Juan Ladetto
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
Antonio Ognio
 
MySQL Good Database Design
MySQL Good Database DesignMySQL Good Database Design
MySQL Good Database Design
Nicola Strappazzon C.
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresas
Nelson Calero
 
Dentro de un Backend
Dentro de un BackendDentro de un Backend
Dentro de un Backend
Sandino Núñez
 
Groovy.v2
Groovy.v2Groovy.v2
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
Bryan Rodríguez
 
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
Enrique Catala Bañuls
 
Novena sesión diseño físico
Novena sesión diseño físicoNovena sesión diseño físico
Novena sesión diseño físicoJulio Pari
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTP
SolidQ
 
Arqui hardware
Arqui hardwareArqui hardware

Similar a Es TEMPDB, por qué es tan importante? (20)

Sistemas operativos y Ley de Amdahl
Sistemas operativos y Ley de AmdahlSistemas operativos y Ley de Amdahl
Sistemas operativos y Ley de Amdahl
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
Curso Oracle11g. Eficacia en el desarrollo de Aplicaciones
Curso Oracle11g. Eficacia en el desarrollo de AplicacionesCurso Oracle11g. Eficacia en el desarrollo de Aplicaciones
Curso Oracle11g. Eficacia en el desarrollo de Aplicaciones
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidos
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
 
Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011Monitoreo tunning postgresql_2011
Monitoreo tunning postgresql_2011
 
Taller Redis
Taller RedisTaller Redis
Taller Redis
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
MySQL Good Database Design
MySQL Good Database DesignMySQL Good Database Design
MySQL Good Database Design
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresas
 
Dentro de un Backend
Dentro de un BackendDentro de un Backend
Dentro de un Backend
 
Groovy.v2
Groovy.v2Groovy.v2
Groovy.v2
 
Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3Arquitectura e implementación de PostgreSQL 9.3
Arquitectura e implementación de PostgreSQL 9.3
 
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
 
Novena sesión diseño físico
Novena sesión diseño físicoNovena sesión diseño físico
Novena sesión diseño físico
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTP
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Sistemas raid
Sistemas raidSistemas raid
Sistemas raid
 

Más de Javier Loria

Modelos analisisabandonoclientespowerbi
Modelos analisisabandonoclientespowerbiModelos analisisabandonoclientespowerbi
Modelos analisisabandonoclientespowerbi
Javier Loria
 
Scrum en Inteligencia de Negocios
Scrum en Inteligencia de NegociosScrum en Inteligencia de Negocios
Scrum en Inteligencia de Negocios
Javier Loria
 
No Pierdas El Tiempo Tablas Temporales en data Warehouse
No Pierdas El Tiempo Tablas Temporales en data WarehouseNo Pierdas El Tiempo Tablas Temporales en data Warehouse
No Pierdas El Tiempo Tablas Temporales en data Warehouse
Javier Loria
 
Mantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro YaMantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro Ya
Javier Loria
 
Trucos de SQL que deberias estar usando en Tu Data Warehouse
Trucos de SQL que deberias estar usando en Tu Data WarehouseTrucos de SQL que deberias estar usando en Tu Data Warehouse
Trucos de SQL que deberias estar usando en Tu Data Warehouse
Javier Loria
 
Modelos Mentales: Implementación Financiera
Modelos Mentales: Implementación FinancieraModelos Mentales: Implementación Financiera
Modelos Mentales: Implementación Financiera
Javier Loria
 
Construyendo una Dimension Tiempo Excepcional
Construyendo una Dimension Tiempo ExcepcionalConstruyendo una Dimension Tiempo Excepcional
Construyendo una Dimension Tiempo Excepcional
Javier Loria
 
Modelos Mentales en BI
Modelos Mentales en BIModelos Mentales en BI
Modelos Mentales en BI
Javier Loria
 
Introducción r primerospasosenr
Introducción r primerospasosenrIntroducción r primerospasosenr
Introducción r primerospasosenr
Javier Loria
 
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
Javier Loria
 

Más de Javier Loria (10)

Modelos analisisabandonoclientespowerbi
Modelos analisisabandonoclientespowerbiModelos analisisabandonoclientespowerbi
Modelos analisisabandonoclientespowerbi
 
Scrum en Inteligencia de Negocios
Scrum en Inteligencia de NegociosScrum en Inteligencia de Negocios
Scrum en Inteligencia de Negocios
 
No Pierdas El Tiempo Tablas Temporales en data Warehouse
No Pierdas El Tiempo Tablas Temporales en data WarehouseNo Pierdas El Tiempo Tablas Temporales en data Warehouse
No Pierdas El Tiempo Tablas Temporales en data Warehouse
 
Mantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro YaMantenga Su Datawarehouse Seguro Ya
Mantenga Su Datawarehouse Seguro Ya
 
Trucos de SQL que deberias estar usando en Tu Data Warehouse
Trucos de SQL que deberias estar usando en Tu Data WarehouseTrucos de SQL que deberias estar usando en Tu Data Warehouse
Trucos de SQL que deberias estar usando en Tu Data Warehouse
 
Modelos Mentales: Implementación Financiera
Modelos Mentales: Implementación FinancieraModelos Mentales: Implementación Financiera
Modelos Mentales: Implementación Financiera
 
Construyendo una Dimension Tiempo Excepcional
Construyendo una Dimension Tiempo ExcepcionalConstruyendo una Dimension Tiempo Excepcional
Construyendo una Dimension Tiempo Excepcional
 
Modelos Mentales en BI
Modelos Mentales en BIModelos Mentales en BI
Modelos Mentales en BI
 
Introducción r primerospasosenr
Introducción r primerospasosenrIntroducción r primerospasosenr
Introducción r primerospasosenr
 
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
Como Big Data puede Ayudar en análisis de ventas cruzadas detección abandono ...
 

Es TEMPDB, por qué es tan importante?

  • 1. Es TempDB, porque es tan importante? Javier Loria Mentor SolidQ
  • 2. SQL Saturday Sponsors Gold Sponsors Silver Sponsors Bronze Sponsors
  • 3. Javier Loria Tim Radney
  • 4. Itzik Ben-Gan Eladio Rincón Fabiano Amorim Adam Machanic Paul S. Randal Tim Radney Steve Stedman …
  • 5.
  • 7. TempDB http://www.microsoft.com http://www.tempdb.com It’s complicated TempDB es como cualquier otra base de datos casi
  • 8. casi No persiste • Se recrea cada vez que SQL se apaga Solo tiene un Filegroup • Pero puede tener múltiples archivos. Puede hacer Rollback • Pero no Rollforward (Redo) Restricciones • Única, AUTOSHRINK, CHECKSUM, Snapshots
  • 10.
  • 13. 1 Objetos Internos 2 Objetos de Usuario 3 Versionamiento
  • 14. Service LOB o XML Broker Resultados intermedios Hash JOIN/Agregados Index creation Resultados intermedios para ordenar Resultados Cursores Intermedios 1 Internos de Consultas
  • 15. 1 Operadores Spool • Lazy/Eager Sort Spool NonClustered Hash Match • Join/Aggregate Spool RowCount Spool Table
  • 16.
  • 17. • DISTINCT • JOIN • TOP / WHERE Sin Demo Demo • ORDER BY • UNION
  • 18. Plan de Ejecución Estimado Plan de Ejecución Real
  • 19. 1 SORT_IN_TEMPDB CREATE NONCLUSTERED INDEX FLPS242D ON dbo.FLPS242(PaiCod, DivNiv1Cod, EstNum, EscNumDet, PGETarNum, PGECtaObjCod, PGECatCtaObjCod )WITH (SORT_IN_TEMPDB = ON);
  • 20.
  • 21. Si tiene disco(s) separados para TempDB: SORT_IN_TEMPDB
  • 22. 2 Tablas Temporales Usuario Tablas Temporales Globales Variables Tabla Tablas funciones “Table-Value”
  • 23. 2 SUBCONSULTAS TABLAS TEMPORALES CTE VS VARIABLES TABLA VISTAS
  • 24. 2 VARIABLES TABLA VS TABLAS TEMPORALES TEMPORARY TABLES TABLE VARIABLES Statistics Yes No Only with Indexes Yes constraints Schema modifications Yes No Available in child routines including sp_executesql Yes No Use with INSERT INTO … EXEC Yes No In memory structures No No
  • 25.
  • 26. • En general: Subconsultas, Vistas y CTES ofrecen mejor desempeño, pero … • Variables tabla para número bajo de filas sino Tablas Temporales
  • 27. Tipos de Funciones Multi- Escalares En Línea Sentencia
  • 28. Tipos de Funciones •Mono-hilo •Interpretadas Escalares
  • 29. Tipos de Funciones •Múltiples comandos •Almacenan en TempDB Multi- Sentencia
  • 30. Tipos de Funciones •Funcionalidad limitada •Sin cuerpo •Mono-SELECT En Línea
  • 31.
  • 32. • De preferencia usar funciones En línea (In-Line). • Si se requiere la funcionalidad multi-sentencia, pero con número filas limitado.
  • 33. Versionamiento 3 Read Snapshot Online After Commited MARS isolation Index Triggers Snapshot
  • 34.
  • 35.
  • 36. Evita el “Shared Lock”= No espero consistencia Puede retornar la misma fila, varias veces Puede brincarse filas commited Tiende a producir INDEX SCAN, y otros efectos colaterales
  • 38.
  • 40. PFS Páginas GAM SGAM Extents IAM
  • 43. Byte por página HEAPS LOB OVERFLOW PFS
  • 44. Global Allocation Map Libre Mixto Estado Uniforme 0 0 1 GAM GAM Shared Allocation Map 1 0 0 SGAM SGAM Bit por Extent Index Allocation Map IAM
  • 45.
  • 46.
  • 47.
  • 48. • 1 Archivo por núcleo (core), hasta 8. <=8 • 8 archivos por los 8 primeros núcleos. 9-16 • 1 archivo por cada 2 núcleos adicionales. • 12 archivos para los primeros 16 >16 núcleos • +1 archivos para cada 4 núcleos.
  • 49. • Lo que sea necesario Tamaño • En dividido en cantidades iguales por archivos • RAID 10 $$$ RAID • RAID 1 $ • Discos Rápidos IO • En algunos ambientes separar el LOG de la BD