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

Responder a