Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/05/2003, 14:50
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Mas o menos el tema de los indices es como explica sci-fi. En teoria, para acelerar tus select, deberias crear un indice con cada convinacion de campos que uses el la condicion where ( o en order by). Por ejemplo, si usas las siguientes condiciones:

where nombre=' lo que sea'
where nombre='lo que sea' and dni='otra cosa'
where nombre='lo que sea' and dni='otra cosa' and fecha='otra mas'

tendrias que crear 3 indices:

indice_1 (nombre)
indice_2 (nombre,dni)
indice_3 (nombre,dni,fecha)

Esto seria lo ideal si esta rapidez no tuviera un coste. Cada indice que crees hay que mantenerlo. Cada indice genera un fichero de indices. Cada vez que añadas, borres o modifiques un registro, hay que recalcular todos los indices. Ocupan espacio. Si tienes muchos registros puede tardar en reconstruirse, pudiendo enlentecer las consultas a BD.

Mi consejo, crea como maximo 3 indeces, ademas de la clave primaria.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.