Buscar este blog

lunes, 18 de julio de 2011

Índices

Un índice en una base datos Oracle 11g es un objeto opcional normalmente asociado a una tabla pero que su uso es casi imprescindible. Una de las misiones de los índices es permitir que las consultas de datos sean más rápidas devolviendo su resultado, sobre todo en tablas con miles o millones de líneas. Una tabla pude tener más de un índice y estos pueden estar compuestos por una o varias columnas.

El estamento básico para crear índices en una base de datos Oracle 11g es:

1.CREATE INDEX nombre_indice ON nombre_tabla (columna, columna1,….);

En el artículo - Introducción a la creación de tablas en Oracle 11g - creamos la tabla clientes, vamos a utilizarla como base para practicar la creación de índices.

En primer lugar vamos a crear un índice sobre la columna CIF para que nuestras búsquedas por esta columna sean llo más rapidas posible:

1.CREATE INDEX factura.clientes_idx1 ON factura.clientes (CIF)

2.TABLESPACE FACTURA_IDX01;

Vamos a crear otro índice compuesto por las columnas NombreCli y DireccionCli:

1.CREATE INDEX factura.clientes_idx2 ON factura.clientes (NombreCli, DireccionCli)

2.TABLESPACE FACTURA_IDX01;

Como podéis ver he añadido la cláusula TABLESPACE para indicar que el índice se cree en el tablespace FACTURA_IDX01, si omitimos esta cláusula el índice se creará en el DEFAULT TABLESPACE que tenga definido el usuario FACTURA.

El usuario que vaya a crear el índice tiene que tener privilegio de CREATE INDEX y UNLIMITED TABLESPACE o CUOTA sobre el tablespace FACTURA_IDX01.




No hay comentarios:

Publicar un comentario