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

Consultas lentas con MySql y Memos

Estas en el tema de Consultas lentas con MySql y Memos en el foro de Bases de Datos General en Foros del Web. Hola a todos ! Tengo hecho un programa en php para archivar fotos extrayendo la información IPTC (documentación de la foto) de las imágenes. Esta ...
  #1 (permalink)  
Antiguo 09/05/2005, 11:55
 
Fecha de Ingreso: febrero-2002
Mensajes: 32
Antigüedad: 22 años, 9 meses
Puntos: 0
Consultas lentas con MySql y Memos

Hola a todos !

Tengo hecho un programa en php para archivar fotos extrayendo la información IPTC (documentación de la foto) de las imágenes. Esta información junto alguna otra (fecha de la fotos, nombre, autor, etc...) la guardo en una base de datos MySql. La documentación de la foto la guardo en un campo memo. Luego mediante un buscador, puedo localizar la foto que quiera, buscando por tema, fecha, etc...

Hasta aquí todo perfecto, el problema es que a partir de unas 40000 fotos, las búsquedas se hacen eternas.

¿Hay alguna forma de agilizar esas busquedas? No utilizo ni indices ni nada por el estilo... ¿O me aconsejais que para ese volumen cambie de motor de base de datos?

Gracias por adelantado
  #2 (permalink)  
Antiguo 09/05/2005, 16:06
 
Fecha de Ingreso: mayo-2005
Ubicación: Chile
Mensajes: 16
Antigüedad: 19 años, 6 meses
Puntos: 0
holas,

disculpa por no saber l9 q preguntas, pero yo busco lo que tu hiciste con las fotos en las bases de datos, tu podrias explicarme un poco eso, sobre el codigo o lo que tu quieras porfis, necesito hacer conexion desde deamweaver a la base de datos y bueno q el resultado se vea en la pagina jjajaja, respondeme gracias
__________________
Elenita
Chile
  #3 (permalink)  
Antiguo 10/05/2005, 15:33
 
Fecha de Ingreso: febrero-2002
Mensajes: 32
Antigüedad: 22 años, 9 meses
Puntos: 0
Basicamente el programa se divide en dos partes :

- Uno de ellos se encarga de chequear cada 20 segundos un directorio determinado donde se vuelcan las fotos que se quieres catalogar..
Cuando una fotos cae, el programa extrae el IPTC (documentación de la foto, explicando que se ve el la foto) de la cabecera del jpg (hay funciones en php para eso) e inserta un registro en una tabla donde se almacenar : un código de foto (un autonumérico), la información IPTC, la fecha del archivo jpg, y alguna cosa mas. A continuación genero una miniatura de la foto y muevo la foto original y su miniatura a otra carpeta, renombrandolas con el código autonumérico que inserté en el registro de la BD.

- El segundo programa es un buscador típico para buscar cadenas o subcadenas dentro de los campos que contienen la información IPTC de las fotos en la base de datos. Puede acotar por fechas, etc...

Espero haberte ayudado...
  #4 (permalink)  
Antiguo 10/05/2005, 16:12
 
Fecha de Ingreso: mayo-2005
Ubicación: Chile
Mensajes: 16
Antigüedad: 19 años, 6 meses
Puntos: 0
gracias, intentare como me dices, luego te contare , o te volvere a preguntar,
chauu, q estes bien.
__________________
Elenita
Chile
  #5 (permalink)  
Antiguo 10/05/2005, 23:22
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 10 meses
Puntos: 2
Podrías modificar tu estructura agregando algunos FULLTEXT en los campos q son del tipo STRING y usar MATCH AGAINST en lugar de LIKE o una combinación entre ambos
Código PHP:
<?
  
//CUENTA EL NUMERO DE PALABRAS
  
$trozos explode(" ",$buscar);
  
$numero count($trozos);
  if(
$numero == 1){ //usamos like
    
$result mysql_db_query($db_name"SELECT * FROM tabla WHERE titulo LIKE '%$buscar%' OR nota LIKE '%$buscar%' ORDER BY fecha DESC") or die(mysql_error());
  } elseif (
$numero 1){ //Utilizamos MATCH AGAINST
    
$result mysql_db_query($db_name"SELECT * FROM tabla WHERE MATCH(titulo,nota) AGAINST('%$buscar%') ORDER BY fecha DESC") or die(mysql_error());
  }
?>
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
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 23:05.