Re: WIP Join Removal
От | Heikki Linnakangas |
---|---|
Тема | Re: WIP Join Removal |
Дата | |
Msg-id | 48BD2189.40400@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: WIP Join Removal (Simon Riggs <simon@2ndQuadrant.com>) |
Ответы |
Re: WIP Join Removal
|
Список | pgsql-patches |
Simon Riggs wrote: > select a.col2 > from a left outer join b on a.col1 = b.col1 > where b.col2 = 1; > > is logically equivalent to > > select a.col2 > from a; No, it's not: postgres=# CREATE TABLE a (col1 int4, col2 int4); CREATE TABLE postgres=# CREATE TABLE b (col1 int4, col2 int4); CREATE TABLE postgres=# INSERT INTO a VALUES (1,1); INSERT 0 1 postgres=# select a.col2 from a; col2 ------ 1 (1 row) postgres=# select a.col2 from a left outer join b on a.col1 = b.col1 where b.col2 = 1; col2 ------ (0 rows) But anyway, Greg's example looks valid, and proves the point that removing a join isn't always a win. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-patches по дате отправления: