Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/04/2012, 12:01
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Por que me da el siguiente erro?

Los 580.000 registros de las cuatro tablas no son tanto problema. Lo que puede generar problemas es que le haces un LEFT JOIN contra la tabla de perfiles, lo que implica que devolverá los 580.000 relacionados con cada perfil, tenga o no coincidencias.
Código MySQL:
Ver original
  1. insert into resultados
  2.     (id_cuenta,Fans,PRRD)
  3.     a.acc_num,
  4.     count(screen_name_id),
  5.     sum(d.count_account)
  6.     acc_profile a
  7.     left join
  8.     (select *
  9.     from analitico_replies1
  10.     union
  11.     select *
  12.     from analitico_replies2
  13.     union
  14.     select *
  15.     from analitico_replies3
  16.     union
  17.     select *
  18.     from analitico_replies4) d on d.id_cuenta=a.acc_num
  19. group by a.acc_user

Si la relación id_cuenta -> acc_num es mandatoria, correspondería usar INNER JOIN. Si no lo es, sería mejor definir algún indice que optimice el proceso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)