>>> On Mon, May 26, 2008 at 6:30 AM, ITAGAKI Takahiro <itagaki.takahiro@xxxxxxxxxxxxx> wrote: > Albert Cervera Areny <albert@xxxxxxxxxx> wrote: > >> I've got a query similar to this: >> >> select * from t1, t2 where t1.id > 158507 and t1.id = t2.id; >> >> That took > 84 minutes (the query was a bit longer but this is the part that >> made the difference) after a little change the query took ~1 second: >> >> select * from t1, t2 where t1.id > 158507 and t2.id > 158507 and t1.id = >> t2.id; > > I had a similar problem here: > http://archives.postgresql.org/pgsql-general/2007-02/msg00850.php > and added a redundant inequality explicitly to make it work well. > > I think it is worth trying to improve, but I'm not sure we can do it > against user defined types. Does postgres always require transitive law > to all types? I've recently run into this. It would be a nice optimization, if feasible. -Kevin