Mauricio A. Ferrari wrote: > --- Adrian Pablo Ali <[EMAIL PROTECTED]> >escribió: > > > >>Mauricio A. Ferrari wrote: >> >> >> >>>--- Adrian Pablo Ali >>> >>> >><[EMAIL PROTECTED]> >> >> >>>escribió: >>> >>> >>La consulta en cuestion en php es: >> >>select id_titulares, nombre, apellido, dni, poliza, >>domicilio_cobro, >>departamento_cobro, localidad_cobro, >>codigo_postal_cobro, activo from >>titulares where codigo_cobradores=$codigo_cobradores >>and activo=1 >> >>el campo codigo_cobradores es un indice en dicha >>tabla. >> >>Por ejemplo el cliente mysql del shell me dice que >>esa consulta demora >>0.47 sec (eso significa que es menos de un segundo >>creo) cuando en >>realidad el cliente demora en hacerme ver los datos >>unos 20 segundos >>(delay que creo que es culpa de que la informacion >>demora en dibujarce >>en la pantalla), bueno en el caso de mandarla a la >>consulta desde el >>cliente mysql veo que a lo sumo el demonio de mysql >>chupa un 5% de cpu. >>Bueno cuando la hago desde php veo que entre apache >>y mysql se comen >>cada uno un 50% de cpu y encima demora unos 120 >>segundos con el >>apachebenchmark porque si lo hago con el navegador >>ahi si que le cuesta >>mas todavia. Segun tengo la impresion el problema no >>esta en la base de >>datos, ya que esta en realidad responde rapido >>(segun el cliente) para >>mi el problema esta en como el mysql va pasando >>estos datos al php o en >>todo caso como el php pide estos datos al mysql, por >>eso ando en la >>busqueda de algun intermediario que pida rapido a >>mysql y devuelva >>rapido a php. >> >> > >Si ahora me queda clarisimo, si los resultados son >esos, es como decis vos donde puede estar el problema. >Si no encontras solucion y necesitas algo medio >rapido, tengo una que es atando con alambre, pero >bueno depende de la urgencia, seria poner al final de >la consulta un LIMIT y le pones un determinado nro por >ej: LIMIT 50, te trae las primeras 50, si queres las >sucesivas 50 pones LIMIT 51, 101. > >Pero como digo, es atadisimo con alambre dado que >tendrias que calcular donde te da el problema :S. > >Si se me ocurre otra cosa te cuento. > >Salut. > >Mauricio. > > > > > > > >__________________________________________________ >Preguntá. Respondé. Descubrí. >Todo lo que querías saber, y lo que ni imaginabas, >está en Yahoo! Respuestas (Beta). >¡Probalo ya! >http://www.yahoo.com.ar/respuestas > >_________________________________ >Lista de correo - L U G Tucumán >http://www.lugtucuman.org.ar > > > Claro, con el limit seria solucion pero tendria que hacer que la pagina se vaya paginando en varias y segun el usuario consulte una o la otra vuelva a consultar.................pero el tema es que yo necesito todos los datos de una, claro que tendria que ser un loco el usuario que mande a imprimir 50 mil registros pero el tema que hasta que se de cuenta que son muchos la pantalla le queda tildada y tiene que esperar, otro tema que necesito todos los registros es para armar pdfs en base a la consulta, el pdf no tengo drama que sea de chorrocientasmil paginas asi que en ese si quiero todo.
Probe con : select SQL_CACHE plin, plin where plin=plon; para usar una cache en mysql previamente definida de 20 MB (lo cual me parece muchisimo jejejejeje) y la consulta mejoro unos segundos con php, de 120 promedio paso a 113. Saludos. _________________________________ Lista de correo - L U G Tucumán http://www.lugtucuman.org.ar
