pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: uwcssa <uwcssa@gmail.com>
To: pgsql-performance@postgresql.org
Subject: postgresql geqo optimization
Date: Fri, 10 Feb 2006 20:46:14 -0500
Message-ID: <f2f562510602101746g2542a08aod0bbb16787f4eb31@mail.gmail.com> (raw)

I have a question with regard to GEQO optimizer of Postgresql.

For complex queries with over 12 tables in a join, (12 is the
default value), the Postgresql optimizer by default will not use the dynamic
programming style optimizer. Instead, it uses genetic algorithm to compute a
sub-optimal query plan.  The reason is that GEQO takes sub-seconds to find a
query plan while the DP style optimizer will take minutes or even hours to
optimize a complex query with large join degree.

I am wondering if anyone here ever had complex queries that the GEQO fails
to work properly, i.e.,  finds a terrible query plan as compared to one
found by DP optimizer (by forcing Postgresql always uses DP).    This is
important to me since I am trying to see what type of queries will be worth
spending a lot of time doing a thorough DP optimization (if it is going to
be executed again and again).

thanks a lot!

view thread (2+ messages)  latest in thread

Message-ID: <f2f562510602101746g2542a08aod0bbb16787f4eb31@mail.gmail.com>
Permalink:  ../f2f562510602101746g2542a08aod0bbb16787f4eb31@mail.gmail.com/
Also on:    postgresql.org/message-id/f2f562510602101746g2542a08aod0bbb16787f4eb31@mail.gmail.com

 · 

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: uwcssa@gmail.com
  Subject: Re: postgresql geqo optimization
  In-Reply-To: <f2f562510602101746g2542a08aod0bbb16787f4eb31@mail.gmail.com>

* 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