Orden SQL pasada a ps_query demasiado larga

From: "Adrian Ferreres Esteller" <raro82(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Orden SQL pasada a ps_query demasiado larga
Date: 2005-05-07 16:54:10
Message-ID: BAY16-F32AFD9B090F75672B22A34CB1C0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista:

Estoy desarrollando mi proyecto final de carrera que es un intranet en
php para un inmobiliaria. El programa almacena y lee los datos en una base
de datos postgreSQL y tengo un serio problema. Resulta que, a la hora de
hacer una busqueda avanzada sobre una vivienda, la cantidad de datos que me
pide el usuario que tenga en consideracion es tan grande que da como
resultado una orden select de mas de 500 caracteres. La funcion pg_query,
que es la funcion encargada de pasar ordenes SQL a postgreSQL, tiene la
limitacion de que dichas ordenes no deben superar la longitud de 500
caracteres.

Las medidas que he tomado hasta ahora son las de reducir el numero de
caracteres utilizados en los atributos de la base de datos. Si por ejemplo,
antes utilizaba nombres de atributos como inmueble_codigo o
fecha_construccion, ahora utilizo nombres como ic o fc. Y luego he abreviado
al la orden select quitando los espacios en blanco prescindibles y cambiando
la enumeracion de atributos a mostrar por el signo '*'. El resultado es el
mismo, una cadena de caracteres de una longitud de mas de 500.

La solucion que voy a probar ahora es la de partir la consulta en dos
consultas, es decir, primero hago la consulta con la mitad de atributos y
obtengo unos resultados y luego hago otra consulta con el resto de
atributos. Luego creo un bucle for o while que recorra ambas tablas y
aquellas lineas de tablas cuyas claves primarias coincidan son las que
mostramos y las demas las ignoramos. El problema de esta solucion es que
puede elevar demasiado el conste temporal de ejecución del programa.

Mi pregunta es:

¿A alguien se le ocurre alguna estrategia mejor?

Muchas gracias

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-05-07 17:06:04 Re: Postgres / Centos
Previous Message Alvaro Herrera 2005-05-07 16:49:35 Re: transacción abortada, las consultas serán...