Re: negative queries puzzle

Поиск
Список
Период
Сортировка
От Ludwig Lim
Тема Re: negative queries puzzle
Дата
Msg-id 20020801015135.6908.qmail@web40011.mail.yahoo.com
обсуждение исходный текст
Ответ на negative queries puzzle  (Jinn Koriech <lists@idealint.co.uk>)
Список pgsql-sql
--- Jinn Koriech <lists@idealint.co.uk> wrote:
> hi all,

> but then to get the entirely new items out i use a
> sub query which takes
> for ever
> 
> SELECT DISTINCT * FROM v_postcode_new WHERE postcode
> NOT IN ( SELECT
> postcode FROM v_postcode_old ) ORDER BY postcode
> ASC;
> 
> does anyone know of a quicker way to accomplish
> this?  
 Try using the "NOT EXIST" clause instead of the "NOT
IN". The "EXIST" clause utilizes the index while the
"IN" does not utilizes index (i.e. uses sequential
scan therefore it is much slower).
  SELECT DISTINCT *  FROM v_postcode_new  WHERE NOT EXIST( SELECT postcode                   FROM v_postcode_old
          WHERE v_postcode_new.postcode =                         v_postcode_old.postcode)  ORDER BY postcode ASC;
 



ludwig.

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Christopher Kings-Lynne"
Дата:
Сообщение: Re: negative queries puzzle
Следующее
От: "Waheed Rahuman"
Дата:
Сообщение: Please Help me