From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | pryscila(dot)lista(at)gmail(dot)com |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: About method of PostgreSQL's Optimizer |
Date: | 2005-09-13 23:16:26 |
Message-ID: | 43275DCA.7040006@samurai.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers 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
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua D. Drake | 2005-09-13 23:23:02 | Re: About method of PostgreSQL's Optimizer |
Previous Message | Tatsuo Ishii | 2005-09-13 23:02:16 | inverse OR distributive law? |
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua D. Drake | 2005-09-13 23:23:02 | Re: About method of PostgreSQL's Optimizer |
Previous Message | Pryscila B Guttoski | 2005-09-13 22:50:42 | About method of PostgreSQL's Optimizer |