Hi Jack,

I'm expecting less than 10 records in the resulting set.
The BlockUnit table contains 337,253 records; the InteractionParts table 
contains 279,953 records.

It takes currently 8.3 seconds to execute the query as I have it.

Erh, this is embarassing but I'm going to need some help re-writing it with 

Thanks for the help so far,


  ----- Original Message ----- 
  From: Jack van Zanen 
  To: Chris 
  Cc: YVES SUCAET ; php-db@lists.php.net 
  Sent: Thursday, September 25, 2008 7:49 PM
  Subject: Re: [PHP-DB] query optimization

  If you can answer the other questions that would help as well

  you can try rewriting using "exist" instead of "in"

  But without the basic information  like number of records expected and 
explain plan it is very hard to come up with a better solution.



  2008/9/26 Chris <[EMAIL PROTECTED]>

    Jack van Zanen wrote:


      If I am not mistaken,
      the second part of the union contains all rows that are in the first part 
      the union. just remove the first part.

    Kind of.

    The first part is a join, the second isn't.

    I was going to suggest rewriting the subquery into a single:

    ip.blockid in (...)
    bu.blockid in (...)

    however that'll probably be slower, but def. worth a try. 

    Postgresql & php tutorials

  J.A. van Zanen

Reply via email to