• Categoría: Oracle
  • Visto: 32671

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 
Oracle

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:

 

Sintaxis

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

 

 

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: 


CREATE INDEX factura.clientes_idx1 ON factura.clientes (CIF)
TABLESPACE FACTURA_IDX01;


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


CREATE INDEX factura.clientes_idx2 ON factura.clientes (NombreCli, DireccionCli)
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.

 

En el caso que tengamos más de un índice Oracle se encargará de utilizar el que se ajuste mejor a cada query, nosotros en principio no tenemos que preocuparnos, pero si tenemos que pensar en una buena estrategia de creación de índices.