pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Patrice Beliveau <pbeliveau@avior.ca>
To: pgsql-performance@postgresql.org
Subject: Optimizing queries
Date: Tue, 08 Aug 2006 13:49:06 -0400
Message-ID: <44D8CE92.1080407@avior.ca> (raw)

Hi,

I have a query that use a function and some column test to select row. 
It's in the form of:

SELECT * FROM TABLE
   WHERE TABLE.COLUMN1=something
      AND TABLE.COLUMN2=somethingelse
      AND function(TABLE.COLUMN3,TABLE.COLUMN4) > 0;

The result of the function does NOT depend only from the table, but also 
from some other tables.

Since it's long to process, I've add some output to see what's going on. 
I find out that the function process every row even if the row should be 
rejected as per the first or the second condition. Then , my question 
is: Is there a way to formulate a query that wont do all the check if it 
does not need to do it ? Meaning that, if condition1 is false then it 
wont check condition2 and that way the function will only be called when 
it's really necessary.

Thanks



view thread (9+ messages)  latest in thread

Message-ID: <44D8CE92.1080407@avior.ca>
Permalink:  ../44D8CE92.1080407@avior.ca/
Also on:    postgresql.org/message-id/44D8CE92.1080407@avior.ca

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: pbeliveau@avior.ca
  Subject: Re: Optimizing queries
  In-Reply-To: <44D8CE92.1080407@avior.ca>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox