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

Consulta con dos tablas grandes pega MySQL

Estas en el tema de Consulta con dos tablas grandes pega MySQL en el foro de Mysql en Foros del Web. Hola, ya llevo mas de 1 año usando Wamp, el asunto es que hasta ahora no me habia tocado trabajar con tablas "grandes". Tengo dos ...
  #1 (permalink)  
Antiguo 28/03/2008, 19:46
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Consulta con dos tablas grandes pega MySQL

Hola, ya llevo mas de 1 año usando Wamp, el asunto es que hasta ahora no me habia tocado trabajar con tablas "grandes".

Tengo dos tablas:

REGISTRO (4 millones)
id
nombre
apellido
email

ESPAÑOL (10.000)
id
apellido_esp

Lo que quiero hacer es obtener todos los REGISTROS que contengan alguno de los apellidos presentes en la tabla ESPAÑOL, basicamente identificar quien es español.

Ya he probado distintos selects, con o sin joins pero siempre se me pega el MySQL, demora demasiado y termina por no responder.

Alguna sugerencia para hacer una consulta mas efectiva?
  #2 (permalink)  
Antiguo 29/03/2008, 05:46
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Consulta con dos tablas grandes pega MySQL

Puede que la demora se vea perjudicada porque los campos por los que se está buscando no sean índices. Gralmente cuando tu sabes que vas a seleccionar por un campo en particular, ese campo debe estar indexado y entonces, la consulta irá más rápido.
Suerte
__________________
When all else is lost the future still remains.
  #3 (permalink)  
Antiguo 29/03/2008, 15:07
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Re: Consulta con dos tablas grandes pega MySQL

Si entiendo lo que dices entonces deberia agregar un indice al campo apellido?
  #4 (permalink)  
Antiguo 30/03/2008, 17:07
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Consulta con dos tablas grandes pega MySQL

Cooooorrrecto!!!!
__________________
When all else is lost the future still remains.
  #5 (permalink)  
Antiguo 30/03/2008, 23:46
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Re: Consulta con dos tablas grandes pega MySQL

Luego de probar agregar un indice al campo apellido de la tabla con 10000 registros, tambien habia agregado uno a la tabla con 4 millones pero al ejecutar una consulta de tipo EXPLAIN me di cuenta que no usaba el indice que agrega a la tabla grande.

El asunto es que mejoro notablemente con el indice a la tabla menor y ademas limite la consulta de 0 , 20000 y luego aparte de eso le agrege que separe los apellidos por letra asi obtengo consultas mucho mas especificas.
  #6 (permalink)  
Antiguo 31/03/2008, 11:01
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Consulta con dos tablas grandes pega MySQL

Me creerías que ayer leyendo un libro de MySQL 3.23, si, 3.23, me detuve en la sentencia ESPLAIN. Qué casualidad!!!
Me alegro que todo se haya solucionado.
Abrazo.
__________________
When all else is lost the future still remains.
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 02:33.