inner join is much faster! is that right?
От | James Im |
---|---|
Тема | inner join is much faster! is that right? |
Дата | |
Msg-id | BAY7-F18EF4F5BF559DFDA8D9C9F96220@phx.gbl обсуждение исходный текст |
Ответы |
Re: inner join is much faster! is that right?
|
Список | pgsql-sql |
I really thought that Postgresql would rewrite a query from select * from file a, file_tag b, tag c where a.id_file=b.id_file and b.id_tag=c.id_tag and a.id_file=10000001000000 to something like: select * from (file a inner join file_tag b on (a.id_file=b.id_file)) inner join tag c on (b.id_tag=c.id_tag) where a.id_file=10000001000000 However this is not the case! I have a many-to-many relation between 2 tables (tag and file). tag has 40000 rows and file has 5 millions rows. file_tag has 50 millions rows. In this setup, the first select takes a couple of minutes to complete while the second query takes only a second to complete. Is this a normal expected behavior? Shouldn't Postgresql be able to rewrite the query correctly? _________________________________________________________________ F� 250 MB gratis lagerplads p� MSN Hotmail: http://www.hotmail.com
В списке pgsql-sql по дате отправления: