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