Re: About method of PostgreSQL's Optimizer - Mailing list pgsql-performance

From Neil Conway
Subject Re: About method of PostgreSQL's Optimizer
Date
Msg-id 43275DCA.7040006@samurai.com
Whole thread Raw
In response to About method of PostgreSQL's Optimizer  (Pryscila B Guttoski <pryscila.lista@gmail.com>)
Responses Re: About method of PostgreSQL's Optimizer
Re: About method of PostgreSQL's Optimizer
List pgsql-performance
Pryscila B Guttoski wrote:
> On my master course, I'm studying the PostgreSQL's optimizer.
> I don't know if anyone in this list have been participated from the
> PostgreSQL's Optimizer development, but maybe someone can help me on this
> question.

pgsql-hackers might be more appropriate.

> PostgreSQL generates all possible plans of executing the query (using an
> almost exhaustive search), then gives a cost to each plan and finally the
> cheapest one is selected for execution.
> There are other methods for query optimization, one of them is based on plan
> transformations (for example, using A-Star algorithm) instead of plan
> constructions used by PostgreSQL.

Right, the main query planner uses a nearly-exhaustive search. For
queries with many joins (when the cost of an exhaustive search would be
prohibitive), "GEQO" is used, which uses a genetic algorithm to avoid an
exhaustive search of the solution space.

> Does anyone know why this method was choosen?

As far as I know, the main planner algorithm is fairly standard and is
mainly different from System R's canonical algorithm in the details,
like whether non-left-deep plans are pruned.

> Are there any papers or researches about it?

There are many papers on the System R algorithm and similar techniques,
which should explain the basic motivations for the design. I'm not aware
of any papers specifically on the PostgreSQL query optimizer, although
there have been a few presentations on it:

http://neilc.treehou.se/optimizer.pdf
http://conferences.oreillynet.com/presentations/os2003/lane_tom.pdf

-Neil

pgsql-performance by date:

Previous
From: Pryscila B Guttoski
Date:
Subject: About method of PostgreSQL's Optimizer
Next
From: "Joshua D. Drake"
Date:
Subject: Re: About method of PostgreSQL's Optimizer