Daniel Migowski <dmigowski@xxxxxxxxxxx> wrote: > I have a very common example which would illustrate the > above problem a bit more. Guess the following view on a > company table, which references the country of that company > in another table. The view itself just returns the > company-id and the country-name, > create view companys_and_countries as > select company.id, country.name from company left join > country on (company.country_id = country.id); > Pleaso note we have a left join here, so the contents of > country do by no means affect the contents of the "id" row > in that view. Lets see what happens when we just query for > the ids: > explain select id from companys_and_countries; > The join is done anyway, even if its removed (At least on > Postgres 8.3). [...] How could that be done otherwise? PostgreSQL *must* look at country to determine how many rows the left join produces. Tim -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance