Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

consejos sobre indices en un tabla muy grande

Estas en el tema de consejos sobre indices en un tabla muy grande en el foro de Bases de Datos General en Foros del Web. Hola a Todos, es para pediros un conejo porque lo que se de base de datos lo se de leer por aqui y por alla, ...
  #1 (permalink)  
Antiguo 17/10/2005, 08:19
 
Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 18 años, 10 meses
Puntos: 0
consejos sobre indices en un tabla muy grande

Hola a Todos, es para pediros un conejo porque lo que se de base de datos lo se de leer por aqui y por alla, entonces os situo:

Una tabla con mas de 30.000 registros los campos son estos:

id int(6) auto_increment (id de los registros)

titulo varchar(80) (nombre de la imagen)

direccion varchar(150) (donde se guarda esa imagen)

quien varchar(20) (quien aporta la imagen)

cuando varchar(8) (fecha dd-mm-yy)

descargas smallint(5) (cuantas veces se ha descargado)


-------------------------------------------

Entonces, la cuestion es a la hora de hacer busquedas sobre el campo titulo, ya que ha esa tabla estan constantemente accediendo, ya sea por busquedas o sacando toda la informacion para mostrar la foto. Cuando hago una busqueda, busco dentro del campo titulo de la siguiente manera:

select id, titulo, quien from TABLA [USE INDEX (titulo)] where (titulo like '%$busca%') order by titulo limit 0,100

selecciono los campos id, titulo, quien porque los neceseito para mostrar la informacion en la pagina de resultados de la busqueda.

Mi pregunta seria: de que manera me podria crear indices para que las busqeudas fueran mas rapidas ?¿

por ejemplo:

- sin ningun indice (en local) al hacer una busqueda, usando microtimes() tarda en hacer la consulta 0.250 segundos

- Y creando un indice asi:ADD INDEX `titulo` ( `titulo` ( 1 ) ) tarda en hacer la misma consulta 0.020 (10 veces menos).

Como veis no tengo mucha idea de indices porque igual la pregunta es un poco tonta.

gracias de antemano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.