Beruflich Dokumente
Kultur Dokumente
Indexacin o
Jorge Prez Rojas e Universidad de Talca, II Semestre 2006
Acceso a Datos
Muchas consultas hacen referencia slo a una pequea parte de o n los datos. Por ejemplo: Encontrar todos los empleados del departamento de Marketing hace referencia slo a una pequea fraccin de los o n o datos en la tabla empleado. Es muy ineciente que el sistema deba recorrer todos los registros e ir comprobando el cdigo del departamento de cada empleado o antes de dar la respuesta. Lo ideal ser que el sistema pudiera localizar directamente estos a registros. Problema grave adicional: En el contexto de BDs los datos se encuentran f sicamente en memoria secundaria acceso muy costoso.
Indices
La idea de un ndice en una BD es la misma que en el caso de un ndice de un libro de texto. En un libro un ndice alfabtico permite e ir directamente a la pgina asociada con cada entrada del a ndice. Una situacin similar ocurre en una biblioteca en donde se o mantienen chas indexadas por Autor, Tema, T tulo, que entregan la direccin (estante y nmero) de un libro para as encontrarlo o u fcilmente. a
Indices (cont.)
Un ndice se dene para un atributo de una relacin. Se guarda o para cada valor de este atributo las direcciones de todos los bloques que contienen tuplas con ese valor para dicho atributo. Los valores en un ndice se mantienen con cierto orden de modo que se puede buscar rpidamente. a Existen distintas tcnicas de indexacin, con distintas e o caracter sticas. Indexacin por archivos secuenciales. o Indexacin por Arboles B. o
Indice Denso
Indice Campos Carcamo Chavez Cortez Figueroa Galvez Gomez . . . Venegas Campos Carcamo Chavez Cortez Figueroa Galvez Gomez Gonzalez Parra Pena Perez . . . Vargas Venegas Tabla 11003441 13447180 12008991 11003442 09998711 13556781 13556788 08881672 10934412 12008993 10934411 . . . 12400113 12400112 campos@empresa.cl carcamo@empresa.cl chabez@empresa.cl cortez@empresa.cl gueros@empresa.cl galvez@empresa.cl gomez@empresa.cl gonzalez@empresa.cl parra@empresa.cl pena@empresa.cl perez@empresa.cl . . . vargas@empresa.cl venegas@empresa.cl 800000 500000 600000 800000 600000 600000 500000 2000000 300000 600000 300000 . . . 600000 600000
. . .
. . .
Un registro de ndice para cada valor de la llave de bsqueda. El u registro contiene el valor de la llave y un puntero a la tupla.
Indice Escaso
Indice Escaso Campos Figueroa Parra . . . Vargas Campos Carcamo Chavez Cortez Figueroa Galvez Gomez Gonzalez Parra Pena Perez . . . Vargas Venegas Tabla 11003441 13447180 12008991 11003442 09998711 13556781 13556788 08881672 10934412 12008993 10934411 . . . 12400113 12400112 campos@empresa.cl carcamo@empresa.cl chabez@empresa.cl cortez@empresa.cl gueros@empresa.cl galvez@empresa.cl gomez@empresa.cl gonzalez@empresa.cl parra@empresa.cl pena@empresa.cl perez@empresa.cl . . . vargas@empresa.cl venegas@empresa.cl 800000 500000 600000 800000 600000 600000 500000 2000000 300000 600000 300000 . . . 600000 600000
. . .
. . .
10
11
12
. . .
. . .
. . . . . .
13
14
15
16
Indice Secundario
Indice Secundario
Tabla Campos Carcamo Chavez Cortez Figueroa Galvez Gomez Gonzalez Parra Pena . . . Venegas 11003441 13447180 12008991 11003442 09998711 13556781 13556788 08881672 10934412 12008993 . . . 12400112 campos@empresa.cl carcamo@empresa.cl chabez@empresa.cl cortez@empresa.cl gueros@empresa.cl galvez@empresa.cl gomez@empresa.cl gonzalez@empresa.cl parra@empresa.cl pena@empresa.cl . . . venegas@empresa.cl 800000 500000 600000 800000 600000 600000 500000 2000000 300000 600000 . . . 600000
Registros de Punteros
17
18
19
ArbolesB
Estructura de Arbol balanceado, todas las hojas del rbol estn a a a la misma profundidad. Cada nodo del rbol se mantiene en una unidad (pgina) de a a memoria secundaria. Cada nodo tiene un mximo y un m a nimo de punteros a tuplas de la base de datos. El rbol completo funciona como a ndice. Las inserciones y eliminaciones de registros en el ndice se pueden realizar de forma muy eciente, no es necesario reconstruir el ndice.
20
Indice de ArbolB
Cortez
Campos
Crcamo a
Galvez
Parra
Soto
Torres
ArbolB para mantener un ndice al atributo nombre. No es necesario que el archivo de datos (tabla) est f e sicamente ordenado en forma secuencial.
21
Indices en SQLServer
Almacena los datos en pginas de 8 KB a Un header de 96 bytes vincula estas pginas. a Los datos en las pginas se almacenan en orden (segn la llave de a u bsqueda). u El parmetro ll factor se usa para mantener las pginas a a ordenadas de forma eciente. Al crear el ndice ordena las pginas de manera tal que cada a una deje cierto porcentaje m nimo desocupado. Un Arbol-B mantiene el ndice de las pginas de datos. a
22
Indices en SQLServer
Para crear un ndice se usa create index, por ejemplo create modif index mi_indice on tabla atributo en donde modif puede ser unique, clustered, nonclustered. unique: virtualmente equivalente a una llave primaria clustered: ordena la tabla por el atributo indicado a lo ms a una por tabla nonclustered: no ordena la tabla, pueden ser muchas por tabla.