Craig James <craig_ja...@emolecules.com> writes:
> Then I thought maybe putting a foreign-key constraint on table "my_version" 
> would solve the problem:

>    alter table my_version add constraint fk_my_view foreign key(version_id)
>    references registry.version(version_id) on delete cascade;

> That way, the planner would know that every key in table "my_version" has to 
> also be in table "version", thus avoiding that part about "forcing the other 
> join to be done in toto".  But the foreign-key constraint makes no 
> difference, it still does the full join and takes 65 seconds.

That's just wishful thinking I'm afraid.  The planner doesn't currently
make any deductions whatsoever from the presence of a foreign key
constraint; and even if it did, I'm not sure that this would help it
decide that a join order constraint could safely be dropped.

                        regards, tom lane

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to