RSS : Articles / Comments


Indices y sus diferencias

5:47, Posted by Gustavo Monaco, No Comment



Recientemente en un curso de desarrollo de base de datos (2778A), dirigido a un par de DBA con mas de 5 años de experiencia con SQL (ella con 13 años y el con 4 años de experiencia...), les pregunte sobre el performance de los Indices y si conocian sus diferencias y aplicaciones, a lo que respondieron: "Si, los indices mejoran el performance, pero no sabemos como. y ¿existen varios tipos de indices?". Lo cual me llevo a darles una explicacion y crear este nuevo post. 

Primero, un indice de base de datos es una estructura de datos que mejora la velocidad en operaciones de tablas (SELECT, UPDATE, DELETE, INSERT).  En Microsoft SQL Server se manejan 2 tipos de indices: los CLUSTERED INDEX y los NONCLUSTERED INDEX. Un Clustered Index se refiere a un indice agrupado o fisico, como si de un diccionario se tratara, los datos se encuentran ordenados fisicamente en el disco por el criterio escogido, el cual generalmente es la clave primaria. Estos indices son los mas rapidos al momento de una busqueda, debido a que no solo estan ordenados fisicamente por una o varias columnas, sino que su valor es unico por cada registro. Por otra parte, los NonClustered Index son indices no agrupados, es decir, no ordenan fisicamente los datos. Por otra parte, se asemejan al apendice de un libro, donde se encuentran palabras o conceptos con su ubicacion en el libro, ya sea pagina, parrafo, linea, caracter... etc.  Estos indices no agrupados, contienen su informacion en paginas separadas a los datos, las cuales son usadas al momento de la busqueda para ubicar los registros solicitados. 

Luego completo la información con otro post. 

No Comment