- Clave primaria. Creado automáticamente cuando se configura la primary key.
- Ordinario. Índice que se debe crear directamente, por ejemplo para acelerar la búsqueda por el campo nombre, o también se crean automáticamente por cada restricción de clave ajena que cree.
- Únicos. Se crean con la constraint unique, y permite valores nulos.
- De texto completo. Para campos char, varchar o text en los que se quiere encontrar índices de una o varias palabras. Por ejemplo al realizar una búsqueda en el B.O.E.
Los índices de clave primaria y los únicos no admiten repetidos.
Para saber los índices de una tabla:
show index from clientes;
¿Cómo se crean los índices?
Clave primaria:
1. Crear una primary key a la hora de crear una tabla
2. Añadir una primary key con un alter table a la tabla
Clave ajena
1. Crear una clave ajena
2. CREATE INDEX nombreIndice ON nombreTabla(campo1 [,campo2...]);
3. CREATE TABLE nombreTabla(campo1 tipoDato, campo2 tipoDato,.. INDEX [nombreIndice] (campo1 [,campo2...]));
4. ALTER TABLE nombreTabla ADD INDEX [nombreIndice] (campo1[,campo2...]);
Únicos
1. CREATE TABLE nombreTabla(campo1 tipoDato, campo2 tipoDato,.. UNIQUE [nombreIndice] (campo1 [,campo2...]));
2. ALTER TABLE nombreTabla ADD UNIQUE [nombreIndice] (campo1,campo2) ...
3. CREATE UNIQUE INDEX nombreIndice ON nombreTabla(campo1[,campo2...]);
De texto completo
1. CREATE TABLE nombreTabla( campo1 TIPO, campo2 TIPO,FULLTEXT [nombreIndice] (campo1 [campo2,...]) );
2. ALTER TABLE nombreTabla ADD FULTEXT [nombreIndice] (campo1[,campo2,...]);
3. CREATE FULLTEXT INDEX nombreIndice ON nombreTabla(campo1[,campo2,...]);
Uso con sentido de los sentidos.
El índice está destinado a reducir la cantidad de tiempo, para evitar una lectura secuencial de la tabla.
Por ejemplo, el campo sexo no sería lógico realizar un índice. Perdemos tiempo buscando en el índice y realizando luego la llamada en la tabla, pudiéndolo hacer de nuevo.
0 comentarios:
Publicar un comentario