preevaluar consulta

From: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: preevaluar consulta
Date: 2008-06-19 11:02:04
Message-ID: 247497.73476.qm@web52112.mail.re2.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Mestros, tengo que enviar una consulta a una base que puede por un lado demorar bastante tiempo en ser procesada y por otro lado puede llegar a responder con muchos registros.
Suponiendo una base con personas, si quiero buscar las personas por su nombre(nombre y apellido), lo que hago desde la apliacacion VB6, es

cadaux = "SELECT analisis.personas.documento, analisis.personas.nombre, analisis.personas.datos," _
& " analisis.personas.sexo, analisis.personas.fechanac, analisis.docu.tipo AS TDOC," _
& " analisis.localidades.localidad, analisis.departamentos.departamento, analisis.provincias.provincia" _
& " From analisis.personas INNER JOIN analisis.docu ON (analisis.personas.tipodoc=analisis.docu.clave)" _
& " INNER JOIN analisis.personaloc ON (analisis.personas.documento=analisis.personaloc.documento)" _
& " AND (analisis.personas.tipodoc=analisis.personaloc.tipodoc)" _
& " INNER JOIN analisis.localidades ON (analisis.personaloc.claveloc=analisis.localidades.claveloc)" _
& " INNER JOIN analisis.departamentos ON (analisis.localidades.codprov=analisis.departamentos.codprov)" _
& " AND (analisis.localidades.coddpto=analisis.departamentos.coddpto)" _
& " INNER JOIN analisis.provincias ON (analisis.departamentos.codprov=analisis.provincias.codprov)" _
& " WHERE (analisis.personas.nombre LIKE '%" & nomper & "%');"

Set tuplasP = cnn.Execute(cadaux)

como veran es simple pero si por ejemplo pongo buscar los "MARTINEZ", me pueden llegar a demorar bastante desde que la ejecuto hasta que el primer registro esta disponible y su vez entregar una gran cantidad de registros.
creo que si antes un select similar pero solo con un rowcount, eliminaria los tiempos de armado de la tabla resultado, pero creo que no ganaria demasiado en tiempos de respuestas y recursos.

Lo que quisiera saber es si existe la forma de preevaluar la cantidad de registros o mejor aun hacer que el servidor me vaya entregando de a un registro de modo que la aplicacion o el usuario pueda cortar el proceso, perdon por mi extrapolacion pero algo asi como el streaming

____________________________________________________________________________________
¡Buscá desde tu celular!

Yahoo! oneSEARCH ahora está en Claro

http://ar.mobile.yahoo.com/onesearch

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Ferro 2008-06-19 11:26:31 Re: preevaluar consulta
Previous Message Juan Carlos Barranco de Paz 2008-06-19 10:30:29 compatibiliad 8.2.4 con 8.3.1