Foros del Web » Programando para Internet » PHP »

error de memoria al ejecutar query de 651530 registros

Estas en el tema de error de memoria al ejecutar query de 651530 registros en el foro de PHP en Foros del Web. hola, le comento que hice una consulta de mysql con el sql yog en la cual me trae 651530 registros y tarda 00:00:11:247 hasta ahi ...
  #1 (permalink)  
Antiguo 29/07/2012, 09:04
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 1
error de memoria al ejecutar query de 651530 registros

hola, le comento que hice una consulta de mysql con el sql yog en la cual me trae 651530 registros y tarda 00:00:11:247 hasta ahi todo bien el prblema se me presenta cuadno lo quiero ejecutar desde mi aplicacion de php la cual queda procesando el query y despues dice que tiene problemas de memoria, ya le extendi el tiempo de proceso de Resource Limits en el php.ini de sistem 32 y en el que esta dentro de mi carpeta de php pero sigue pasando lo mismo queria saber si hay alguna otra manera de solucionar este problema y que se puede hacer para que la consulta no sea tan pesada.
lo que intente hasta el momento fue hacer la consulta lo mas limitada posible con inner join e intente hacer varias consultas iguales desde php pero con un limit en cada consulta es decir la primera trae desde el registro 0 hasta el 20000 la segunda desde el 20000 hasta el 40000 como para que me traiga los mismos registros pero por partes y los voy guardando en en array pero lei por ahi que eso hace mas lento todavia porque ocupa mas recursos y la verdad que no se como se puede solucionar esto, si alguien me puede dar una mano se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 29/07/2012, 09:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: error de memoria al ejecutar query de 651530 registros

Por empezar, sería interesante saber para qué necesitas recuperar más de medio millón de registros. Francamente si no es para hacer algún tipo de cálculo, no veo que te sirva para otra cosa.
Nadie se pondría a leer un listado de registros de 8200 páginas, ¿o si?

En cuanto a la consulta en si, si el tema es lo que tarda en obtenerse el resultado, sería buena idea revisarla para ver si es optimizable, o si se puede encarar alguna estrategia para mejorar la performance.
Ese tema es más especifico de Base de Datos, por lo que sería mejor que eso lo tratases en ese foro (http://www.forosdelweb.com/f86/).
No postees allá el PHP, porque no es tema de ese foro, pero postea allá el SQL que usas para poder ver lo que se puede lograr.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/07/2012, 19:24
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: error de memoria al ejecutar query de 651530 registros

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Por empezar, sería interesante saber para qué necesitas recuperar más de medio millón de registros. Francamente si no es para hacer algún tipo de cálculo, no veo que te sirva para otra cosa.
Nadie se pondría a leer un listado de registros de 8200 páginas, ¿o si?

En cuanto a la consulta en si, si el tema es lo que tarda en obtenerse el resultado, sería buena idea revisarla para ver si es optimizable, o si se puede encarar alguna estrategia para mejorar la performance.
Ese tema es más especifico de Base de Datos, por lo que sería mejor que eso lo tratases en ese foro (http://www.forosdelweb.com/f86/).
No postees allá el PHP, porque no es tema de ese foro, pero postea allá el SQL que usas para poder ver lo que se puede lograr.
hola gnzsoloyo por empesar no veo la nesecidad de que sepan para que quiero recuperar tanta informacion y por su puesto que es para hacer varios calculos sino no le veo sentido siquiera a hacer una consulta de datos.
en cuanto a la consulta en si,y si leemos bien la pregunta dice:"lo que intente hasta el momento fue hacer la consulta lo mas limitada posible"con eso quiero decir que la consulta sql no se puede hacer mejor y es por eso que lo posteo en el foro de php y no en el de base de datos y ademas no puedo postear la consulta ya que tiene datos del trabajo y no me lo permiten y la verdad que si tengo que cambiar los valores para hacer una consulta generica no tendria sentido, pero igual gracias por tu respuesta
  #4 (permalink)  
Antiguo 30/07/2012, 00:14
 
Fecha de Ingreso: julio-2012
Mensajes: 30
Antigüedad: 11 años, 9 meses
Puntos: 7
Respuesta: error de memoria al ejecutar query de 651530 registros

Podrías tratar de hacerte un stored procedure donde lleves a acabo todos tus calculos, crees tablas temporales, etc. y con ello quitarle ese trabajo al php.

Etiquetas: memoria, mysql, query, registro, registros, sql
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:32.