From: | Jörg Kiegeland <kiegeland(at)ikv(dot)de> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | row-specific conditions possible? |
Date: | 2009-01-15 10:42:29 |
Message-ID: | 496F1315.7070108@ikv.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Hi,
I want to store a boolean SQL condition in a column "condition_column"
of my table "myTable".
This condition refers to other columns of the same table and shall use
one parameter, e.g. "column1=4 AND colume2+column3=param".
Every row has a different condition in general..
So my query on the table should look like "SELECT * FROM myTable WHERE
anotherCondition AND EXECUTE condition_column(7)"
In this example, the concrete argument is "7".
However EXECUTE can only be used for prepared statements, and I dont
know how to prepare a statement within one single SQL query.
Does anybody know?
Our current solution is to execute "SELECT * FROM myTable WHERE
anotherCondition" where "anotherCondition" selects ~30% of the table,
and we evaluate the row-specific condition on client-side by our own
condition-evaluator, so that we finally have ~1% from the whole table as
result.
This however fetches 1/3 of the table over a remote JDBC connection. Its
clear that a server-side evaluation would also scan 1/3 of the table,
however only the final result would be transfered to the client.
Thanks for any help!
From | Date | Subject | |
---|---|---|---|
Next Message | A. Kretschmer | 2009-01-15 11:06:01 | Re: row-specific conditions possible? |
Previous Message | Euler Taveira de Oliveira | 2009-01-14 13:39:51 | Re: index |