Bueno la
entrada de hoy vamos a hablar de los índices de una BD. Un índice es una
Estructura de Datos que mejora la velocidad en las operaciones de la BD. ¿Y
cómo hace esto? , muy sencillo, el índice es un identificador único de cada una
de los registros de una tabla de la BD con esto se permite un rápido acceso a
ese registro, se suele hacer sobre aquellos campos que se requieren en
frecuentes búsquedas.
En Oracle 11g
los índices son opcionales, pero son bastante utilizados o casi
imprescindibles. El índice está asociado a una tabla mediante una o varias
columnas. Con esto como ya comenté antes se logra que las operaciones a la BD,
por ejemplo, una consulta devuelva el resultado más rápidamente, con una tabla
enorme es muy ventajoso. Las tablas pueden tener más de un índice, además puede
haber índices compuestos.
Un cosa que
hay que advertir también es que si bien se mejoran las operaciones de consulta (SELECT),
empeoran mínimamente las operaciones de borrado y de inserción. (DELETE e INSERT).
A continuación
voy a comentar como crear un índice en una tabla con Oracle 11g, se hace de la
siguiente manera, sin tener en cuenta las clausulas y los atributos que podría
tener:
CREATE [UNIQUE|BITMAP] INDEX
[esquema.]nombre_indice
ON [esquema.]nombre_tabla [alias_tabla]
(col [ASC | DESC])
Por ejemplo, tenemos la tabla CLIENTE (nombre,apellidos,tlfno,DNI,sexo,edad),
en el esquema EmpresaSA. Si en esta tabla queremos crear un índice lo
tendríamos que hacer de la siguiente manera:
CREATE INDEX EmpresaSA.cliente_idx1
ON EmpresaSA.cliente (DNI);
Si ahora lo que queremos crear es un índice compuesto por apellido y el DNI
sería de la siguiente manera:
CREATE INDEX EmpresaSA.cliente_idx2
ON EmpresaSA.cliente (apellido,DNI);
Ambos índices los va a crear en el TABLESPACE en que tenga por defecto el
usuario que los ha creado. Espero que con esto
os pueda servir de ayuda para la creación sencilla de un índice.
No hay comentarios:
Publicar un comentario