SlideShare una empresa de Scribd logo
1 de 2
Tema 7: Puesta a punto y administración de base de datos
Ing. Marco Antonio Condarco Mirabal
Base de Datos II
Indices en SQL Server (Discriminando la versión)
Este es un post introductorio referente a Indices, no veremos un nivel avanzado del tema
esta vez, la intencion es que podamos tener una mejor vision de lo que significan los
indices en SQL Server, a fin de poder usarlos correctamente en un futuro.
Entonces lo primero que nos preguntariamos Qué es un indice?
Una analogia que siempre se utiliza es el Indice de un Diccionario (No diccionario de datos,
sino el que usamos para buscar significados de palabras), su funcion principal es darnos una
referencia rapida de como encontrar un grupo de palabras, ese grupo se ordena por orden
alfabetico en este caso, si tenemos claro como funciona un Indice a ese nivel entonces
seguimos.
Ok tenemos claro el Indice del Diccionario, ahora debemos saber de que forma SQL Server
almacena los datos en el disco duro, y los almacena utilizando Pages (paginas) de un
tamaño de 8kb c/u, entonces nuestra información se almacena en múltiples paginas ya que
en una tabla de 1Mb existen 128 paginas (16 extends) eso quiere decir que al realizar una
consulta a la tabla (select * from tabla) para recuperar la información a mostrar, debe
buscar entre todas esas paginas que información pertenece a la tabla invocada y separarlas
de los datos que pertenecen a otros objetos.
Volviendo al ejemplo del Diccionario de significado, si buscamos la palabra zona
pasaremos por la A, B, C .. hasta llegar a Z y luego buscar la palabra zona; o iremos
directamente al grupo de la Z y luego buscamos zona.
Una tabla sin indices buscara sus registros en todas las paginas que pueda, podrá insertar
rápidamente la información, pero recuperar los resultados de una consulta tomara un
tiempo prudencial dependiendo la cantidad de registros, paginas, entre otros factores como
trafico de red, velocidad del disco, etc.
Una tabla sin indices se conoce como Heap o en nuestro idioma montón, ya que todo esta
formado sin un orden y tienes que buscar entre todo ese montón tu información o datos.
Los índices son objetos de la bases de datos, cuya función es optimizar el acceso a datos. A
medida que las tablas se van haciendo más grandes y se desea hacer consultar sobre estas
tablas, los índices son indispensables.
Internamente un índice normal es una estructura de árbol, que cuenta con una página
principal y luego esta con paginas hijas, que a su vez tiene más paginas hijas hasta llegar a
la pagina final del índice (leaf level).
La clave del índice está repartida en las páginas del índice, de modo tal que la búsqueda se
haga leyendo la menor cantidad posible de datos.
En el caso que la tabla tenga indices, ya sean Cluster o Non Cluster, la información podrá
retornar de forma mas eficiente, ahora la pregunta es, en donde van los indices. Los indices
van en la tabla como un objeto adicional, pero hacen referencia a un campo primario, o a
otros campos de la tabla, si tenemos un campo Id_Tabla que es Primary Key (Entendemos
esto como el campo principal de la tabla) SQL Server creara automáticamente un indice
Cluster haciendo referencia al campo Id_Tabla. En el caso tenemos un campo que no es
Primary Key, como fec_vta al crear un indice para un campo que no es PK, se le debe crear
como Non-cluster.
Ahora bien, entonces porque no siempre usar índices clustered? Bueno, en primer lugar,
lamentablemente solo puede haber 1 solo índice clustered por tabla. La razón es muy
sencilla y lógica: Los registros de la tabla físicamente son las paginas leaf-level del índice
clustered. Los datos de la tabla esta ordenados según el índice. Y obviamente una tabla no
puede simultáneamente estar físicamente ordenada de 2 maneras diferentes.
Por lo tanto, en tablas grandes y muy consultadas, tenemos que ser cuidadosos y analizar a
que campos vamos a seleccionar para ser llaves del índice clustered. Tenemos 1 solo índice
de este tipo por tabla, no hay que desperdiciarlo!!!
Este último punto es importante para saber en qué situaciones y para que campos se debe
utilizar un clustered index o un non-clustered.
Imaginemos el Diccionario y que en el Indice no existan grupos de letras, sino un juego de
letras por ejemplo Ab, Ac, Az; Bl, etc etc; tomara un poco mas de tiempo buscar el grupo
adecuado en el indice pero la búsqueda en el diccionario sera mas rápido que buscar en toda
la letra Z. Pero que pasa si el indice tiene un numero para cada palabra en el diccionario, al
final solo buscaríamos prácticamente en todo el diccionario, con esto lo que quiero dejar en
claro que los indices son buena opción para resolver consultas, pero no se trata de poner
muchos indices por ponerlo, se debe tener algunas recomendaciones, por ejemplo que
sentido tendría poner como indice al campo Observaciones, si nunca en los querys haremos
un filtro o un where por ese campo.
Para colocar indices debemos primero evaluar los querys que utilizamos, ver que filtros o
match existen en los Join, ya que SQL Server utilizara esos campos como búsqueda inicial,
entonces es en ellos donde debemos analizar y probar si resulta o no crear un indice.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Como hacer una mini agendapor keny damaris torres
Como hacer una mini agendapor  keny  damaris torresComo hacer una mini agendapor  keny  damaris torres
Como hacer una mini agendapor keny damaris torres
 
Access
AccessAccess
Access
 
Conceptosbd
ConceptosbdConceptosbd
Conceptosbd
 
Escritorio
EscritorioEscritorio
Escritorio
 
Metodos de buqueda en internet y operadores booleanos
Metodos de buqueda en internet y operadores booleanosMetodos de buqueda en internet y operadores booleanos
Metodos de buqueda en internet y operadores booleanos
 
Buscadores de internet
Buscadores de internetBuscadores de internet
Buscadores de internet
 
Operadores de busqueda.
Operadores de busqueda.Operadores de busqueda.
Operadores de busqueda.
 
Buscadores02
Buscadores02Buscadores02
Buscadores02
 
Base de datos
Base de datosBase de datos
Base de datos
 
Archivos secuenciales-indexados (Diego Ramirez UMG).
Archivos secuenciales-indexados (Diego Ramirez UMG).Archivos secuenciales-indexados (Diego Ramirez UMG).
Archivos secuenciales-indexados (Diego Ramirez UMG).
 
Operadores lógicos de búsqueda
Operadores lógicos de búsquedaOperadores lógicos de búsqueda
Operadores lógicos de búsqueda
 
Tecnicas y herramientas de busqueda en internet anggie sanchez
Tecnicas y herramientas de busqueda en internet anggie sanchezTecnicas y herramientas de busqueda en internet anggie sanchez
Tecnicas y herramientas de busqueda en internet anggie sanchez
 
Metodos de búsqueda en internet
Metodos de búsqueda en internetMetodos de búsqueda en internet
Metodos de búsqueda en internet
 
Base de datos parte dos
Base de datos parte dosBase de datos parte dos
Base de datos parte dos
 
Wenddy
WenddyWenddy
Wenddy
 
Consulta
ConsultaConsulta
Consulta
 
Metodos de busqueda
Metodos de busquedaMetodos de busqueda
Metodos de busqueda
 
Trabajo exposicion grupo_5
Trabajo exposicion grupo_5Trabajo exposicion grupo_5
Trabajo exposicion grupo_5
 
Base de datos
Base de datosBase de datos
Base de datos
 

Destacado

Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012SolidQ
 
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosMS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosJoseph Lopez
 
Creación Indices y Constraints en bases de datos de SQL Server
Creación Indices y Constraints en bases de datos de SQL ServerCreación Indices y Constraints en bases de datos de SQL Server
Creación Indices y Constraints en bases de datos de SQL ServerEder López
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datosjosecuartas
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverZeleneMorita
 
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 SqlAntonio Soto
 
WebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesWebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesJOSE AHIAS LOPEZ PORTILLO
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sqlnnakasone
 
Tipos de índices
Tipos de índicesTipos de índices
Tipos de índicesvelneo
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 

Destacado (12)

Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012
 
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosMS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
 
Creación Indices y Constraints en bases de datos de SQL Server
Creación Indices y Constraints en bases de datos de SQL ServerCreación Indices y Constraints en bases de datos de SQL Server
Creación Indices y Constraints en bases de datos de SQL Server
 
índices en bases de datos
índices en bases de datosíndices en bases de datos
índices en bases de datos
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql server
 
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
 
Tsql
TsqlTsql
Tsql
 
WebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e ÍndicesWebCast de optimización Sql Server - Almacenamiento e Índices
WebCast de optimización Sql Server - Almacenamiento e Índices
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
 
Indices 1
Indices 1Indices 1
Indices 1
 
Tipos de índices
Tipos de índicesTipos de índices
Tipos de índices
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 

Similar a Indices en SQL Server

En los recursos de la semana se pueden leer las reglas para planificar una ba...
En los recursos de la semana se pueden leer las reglas para planificar una ba...En los recursos de la semana se pueden leer las reglas para planificar una ba...
En los recursos de la semana se pueden leer las reglas para planificar una ba...Monytha Roman
 
11. indices en my sql
11. indices en my sql11. indices en my sql
11. indices en my sqlJuanjo Huelva
 
RESUMEN
RESUMENRESUMEN
RESUMENYM_1
 
Yossy
YossyYossy
YossyFye19
 
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...Lina Marcela
 
Tipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez GonzálezTipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez GonzálezÁngel Oláez
 
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxBASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxJose walter Vega Acebey
 
Campos daniel presentacion de base de datos
Campos daniel presentacion de base de datosCampos daniel presentacion de base de datos
Campos daniel presentacion de base de datosDaniel Campos
 
Trabajo autonomo
Trabajo autonomoTrabajo autonomo
Trabajo autonomozumeo
 
Base de datos informatica
Base de datos informaticaBase de datos informatica
Base de datos informaticaCesar Damian
 
Indice y tabla de contenidos
Indice y tabla de contenidosIndice y tabla de contenidos
Indice y tabla de contenidosnicklever
 

Similar a Indices en SQL Server (20)

En los recursos de la semana se pueden leer las reglas para planificar una ba...
En los recursos de la semana se pueden leer las reglas para planificar una ba...En los recursos de la semana se pueden leer las reglas para planificar una ba...
En los recursos de la semana se pueden leer las reglas para planificar una ba...
 
11. indices en my sql
11. indices en my sql11. indices en my sql
11. indices en my sql
 
Indices
IndicesIndices
Indices
 
Indices en bases de datos my sql
Indices en bases de datos  my sqlIndices en bases de datos  my sql
Indices en bases de datos my sql
 
Taller de acces
Taller de accesTaller de acces
Taller de acces
 
RESUMEN
RESUMENRESUMEN
RESUMEN
 
Yossy
YossyYossy
Yossy
 
Que es access
Que es accessQue es access
Que es access
 
Que es access
Que es accessQue es access
Que es access
 
Taller access nicolle
Taller access nicolleTaller access nicolle
Taller access nicolle
 
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...
Lina marcela alzate, stephany aristizabal introducción a las bases de datos 1...
 
Consulta
ConsultaConsulta
Consulta
 
Consulta
ConsultaConsulta
Consulta
 
Access
AccessAccess
Access
 
Tipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez GonzálezTipos de bases de datos por Juan del Ángel Oláez González
Tipos de bases de datos por Juan del Ángel Oláez González
 
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptxBASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
BASE DE DATOS RELACIONALES, DISTRIBUIDAS, ORIENTADA.pptx
 
Campos daniel presentacion de base de datos
Campos daniel presentacion de base de datosCampos daniel presentacion de base de datos
Campos daniel presentacion de base de datos
 
Trabajo autonomo
Trabajo autonomoTrabajo autonomo
Trabajo autonomo
 
Base de datos informatica
Base de datos informaticaBase de datos informatica
Base de datos informatica
 
Indice y tabla de contenidos
Indice y tabla de contenidosIndice y tabla de contenidos
Indice y tabla de contenidos
 

Último

El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 

Último (20)

El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 

Indices en SQL Server

  • 1. Tema 7: Puesta a punto y administración de base de datos Ing. Marco Antonio Condarco Mirabal Base de Datos II Indices en SQL Server (Discriminando la versión) Este es un post introductorio referente a Indices, no veremos un nivel avanzado del tema esta vez, la intencion es que podamos tener una mejor vision de lo que significan los indices en SQL Server, a fin de poder usarlos correctamente en un futuro. Entonces lo primero que nos preguntariamos Qué es un indice? Una analogia que siempre se utiliza es el Indice de un Diccionario (No diccionario de datos, sino el que usamos para buscar significados de palabras), su funcion principal es darnos una referencia rapida de como encontrar un grupo de palabras, ese grupo se ordena por orden alfabetico en este caso, si tenemos claro como funciona un Indice a ese nivel entonces seguimos. Ok tenemos claro el Indice del Diccionario, ahora debemos saber de que forma SQL Server almacena los datos en el disco duro, y los almacena utilizando Pages (paginas) de un tamaño de 8kb c/u, entonces nuestra información se almacena en múltiples paginas ya que en una tabla de 1Mb existen 128 paginas (16 extends) eso quiere decir que al realizar una consulta a la tabla (select * from tabla) para recuperar la información a mostrar, debe buscar entre todas esas paginas que información pertenece a la tabla invocada y separarlas de los datos que pertenecen a otros objetos. Volviendo al ejemplo del Diccionario de significado, si buscamos la palabra zona pasaremos por la A, B, C .. hasta llegar a Z y luego buscar la palabra zona; o iremos directamente al grupo de la Z y luego buscamos zona. Una tabla sin indices buscara sus registros en todas las paginas que pueda, podrá insertar rápidamente la información, pero recuperar los resultados de una consulta tomara un tiempo prudencial dependiendo la cantidad de registros, paginas, entre otros factores como trafico de red, velocidad del disco, etc. Una tabla sin indices se conoce como Heap o en nuestro idioma montón, ya que todo esta formado sin un orden y tienes que buscar entre todo ese montón tu información o datos. Los índices son objetos de la bases de datos, cuya función es optimizar el acceso a datos. A medida que las tablas se van haciendo más grandes y se desea hacer consultar sobre estas tablas, los índices son indispensables. Internamente un índice normal es una estructura de árbol, que cuenta con una página principal y luego esta con paginas hijas, que a su vez tiene más paginas hijas hasta llegar a la pagina final del índice (leaf level). La clave del índice está repartida en las páginas del índice, de modo tal que la búsqueda se haga leyendo la menor cantidad posible de datos.
  • 2. En el caso que la tabla tenga indices, ya sean Cluster o Non Cluster, la información podrá retornar de forma mas eficiente, ahora la pregunta es, en donde van los indices. Los indices van en la tabla como un objeto adicional, pero hacen referencia a un campo primario, o a otros campos de la tabla, si tenemos un campo Id_Tabla que es Primary Key (Entendemos esto como el campo principal de la tabla) SQL Server creara automáticamente un indice Cluster haciendo referencia al campo Id_Tabla. En el caso tenemos un campo que no es Primary Key, como fec_vta al crear un indice para un campo que no es PK, se le debe crear como Non-cluster. Ahora bien, entonces porque no siempre usar índices clustered? Bueno, en primer lugar, lamentablemente solo puede haber 1 solo índice clustered por tabla. La razón es muy sencilla y lógica: Los registros de la tabla físicamente son las paginas leaf-level del índice clustered. Los datos de la tabla esta ordenados según el índice. Y obviamente una tabla no puede simultáneamente estar físicamente ordenada de 2 maneras diferentes. Por lo tanto, en tablas grandes y muy consultadas, tenemos que ser cuidadosos y analizar a que campos vamos a seleccionar para ser llaves del índice clustered. Tenemos 1 solo índice de este tipo por tabla, no hay que desperdiciarlo!!! Este último punto es importante para saber en qué situaciones y para que campos se debe utilizar un clustered index o un non-clustered. Imaginemos el Diccionario y que en el Indice no existan grupos de letras, sino un juego de letras por ejemplo Ab, Ac, Az; Bl, etc etc; tomara un poco mas de tiempo buscar el grupo adecuado en el indice pero la búsqueda en el diccionario sera mas rápido que buscar en toda la letra Z. Pero que pasa si el indice tiene un numero para cada palabra en el diccionario, al final solo buscaríamos prácticamente en todo el diccionario, con esto lo que quiero dejar en claro que los indices son buena opción para resolver consultas, pero no se trata de poner muchos indices por ponerlo, se debe tener algunas recomendaciones, por ejemplo que sentido tendría poner como indice al campo Observaciones, si nunca en los querys haremos un filtro o un where por ese campo. Para colocar indices debemos primero evaluar los querys que utilizamos, ver que filtros o match existen en los Join, ya que SQL Server utilizara esos campos como búsqueda inicial, entonces es en ellos donde debemos analizar y probar si resulta o no crear un indice.