Search Postgresql Archives

Re: Slow SQL?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 12 Jul 2016 14:34:50 +0200
hubert depesz lubaczewski <depesz@xxxxxxxxxx> wrote:

> On Tue, Jul 12, 2016 at 10:23:24AM +0200, 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 loaded your explain analyze to https://explain.depesz.com/, as:
> https://explain.depesz.com/s/iXK
> 
> as you can see there, the problem is that you made 280 thousand checks
> for "sed_uttak y", which seems to be related to this part:
> 
> 
> > Select a.status, a.plass, a.navn, a.avlsnr,
> >            date_part('day',(now() - s.dato)) dato_diff, v.tekst, COALESCE(a.avlsverdi,0)
> > From   sed_uttak s, sem_avlsverdi a, semin_vare v
> > where a.aktiv = 1
> > And    s.dato  = (Select Max(y.dato)
> >                           From sed_uttak y
> >                           Where y.avlsnr = s.avlsnr)  
> 
> from what I understand, you're doing it to work on newest record from
> sed_uttak, for each avlsnr.
> 
> What is rowcount in the table, and how many different avlsnr are there?
> 
> You might want to do something like:
> 
> with s as (
>     select distinct on (avlsnr) *
>     from sed_uttak
>     order by avlsnr desc, dato desc
> )
> 
> and then use "s" instead of set_uttak, and get rid of the s.dato
> = (select max....) checks.
> 
> Best regards,
> 
> depesz
> 

Rewrote using the with s as method and now  it's  faster than the oracle querytime, so I am happy... 
And I learned something new, never used the with s as way before...

Thx! :)

BTJ


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux