Re: Speed up the query - Mailing list pgsql-performance

From Hengky Lie
Subject Re: Speed up the query
Date
Msg-id CADvRrxP-FZeJZc2pa=cHgm5BA6O4nkjxEwArF-MS=dVjiF1TVw@mail.gmail.com
Whole thread Raw
In response to Re: Speed up the query  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-performance
Thanks Kevin. You are absolutely right. I should use parentheses, it is what i want for the query to do.

It also increasing processing time to 5.444 seconds. Should be okay i think.


On Sun, Dec 1, 2013 at 11:02 PM, Kevin Grittner <kgrittn@ymail.com> wrote:
Hengky Liwandouw <hengkyliwandouw@gmail.com> wrote:

> where jualid is not null
> and extract(year from tanggal)='2013')

> But the problem is : when i change the where clause to :
>
> where jualid is not null or returjualid is not null
> and extract(year from tanggal)='2013')
>
> (there is additional or returjualid is not null,) the query needs
> 56 second to display the result.

Before worrying about the run time, I would worry about whether you
are getting the results you expect.  That will be interpreted as:

where jualid is not null
   or (returjualid is not null and extract(year from tanggal) = '2013')

... not:

where (jualid is not null or returjualid is not null)
  and extract(year from tanggal) = '2013'
AND has higher priority than OR; so if you want to limit by year
from tanggal even when jualid is not null, you must use
parentheses.

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgsql-performance by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: Speed up the query
Next
From: Hengky Lie
Date:
Subject: Re: Speed up the query