| От | Grzegorz Jaśkiewicz |
|---|---|
| Тема | Re: not in(subselect) in 8.4 |
| Дата | |
| Msg-id | 2f4958ff0902200739q2dca1ch4e6933a4f76914c2@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: not in(subselect) in 8.4 (Tom Lane <tgl@sss.pgh.pa.us>) |
| Список | pgsql-performance |
On Fri, Feb 20, 2009 at 3:33 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > =?UTF-8?Q?Grzegorz_Ja=C5=9Bkiewicz?= <gryzman@gmail.com> writes: >> I mean query like: >> select id from foo where id not in ( select id from bar); >> into: >> select f.id from foo f left join bar b on f.id=b.id where b.id is null; > > Postgres does not do that, because they don't mean the same thing --- > the behavior for NULLs in bar.id is different. yes, the obvious assumption here is that all columns are 'not null'; > 8.4 does understand that NOT EXISTS is an antijoin, though. Yes, I noticed that it actually assumes lesser cost. -- GJ
В списке pgsql-performance по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера