On 07/10/2013 09:18 AM, Atri Sharma wrote: >> Can you please post an example of such a join removal? I mean a query before >> and after the removal. Thanks, > Courtesy Robert Haas: > > SELECT foo.x, foo.y, foo.z FROM foo WHERE foo.x = bar.x > > Conditions: > > 1) foo.x is not null. I guess that this is also not needed. you can just remove rows where
foo.x is null That is, replace the join with "foo.x is not null" > > 2) foo (x) is a foreign key referencing bar (x). > > We can ignore bar completely in this case i.e. avoid scanning bar. > > Regards, > > Atri > > > -- > Regards, > > Atri > l'apprenant > > -- Hannu Krosing PostgreSQL Consultant Performance, Scalability and High Availability 2ndQuadrant Nordic OÜ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers