Re: Slow SQL?

From: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "'hamann(dot)w(at)t-online(dot)de *EXTERN*'" <hamann(dot)w(at)t-online(dot)de>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Slow SQL?
Date: 2016-07-12 09:12:23
Message-ID: A737B7A37273E048B164557ADEF4A58B5386C301@ntex2010i.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

hamann(dot)w(at)t-online(dot)de wrote:
Bjørn T Johansen wrote:
>> I am trying to move a small system from Oracle to PostgreSQL and I have come upon a sql that runs
>> really slow compared to on the Oracle database and I am not able to interpret why this is slow.

> I have experienced that some subqueries can be quite slow, and would suspect the NOT IN
> clause. I occasionally rewrite
> NOT IN (select key from unwanted_candidates)
> as
> IN (select key from possible_candidates except select key from unwanted_candidates)

I would try to rewrite these clauses to NOT EXISTS, for example

a.avlsnr Not In (Select avlsnr From dyr_pause_mot)

could be

NOT EXISTS (SELECT NULL FROM dyr_pause_mot WHERE avlsnr = a.avlsnr)

This can be executed as anti-join and is often more efficient.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Olivier 2016-07-12 09:39:46 PostgreSQL FDW + Trigger on Remote DB = WARNING: there is no transaction in progress
Previous Message hamann.w 2016-07-12 08:47:18 Re: Slow SQL?