Re: Optimizer Path Candidates difference in 9.1.3 and 9.2 beta1

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Qi Huang <huangqiyx(at)hotmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Optimizer Path Candidates difference in 9.1.3 and 9.2 beta1
Date: 2012-06-27 04:07:45
Message-ID: 20614.1340770065@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Qi Huang <huangqiyx(at)hotmail(dot)com> writes:
> Hi, hackers I modified the code in add_path() a bit so that all the query path candidates inside pathlist will not be removed and all new path will be added into the pathlist, thus all path candidates are kept in pathlist. I then tested a four-relation query. In 9.1.3, I can see thousands of candidates in the final RelOptInfo, and some of them are even busy trees. But in 9.2 beta1 which I forked from github, there are no such busy trees and only about 50 join path in total, which should match the requirement of System R algo. Is there any modification regarding the system R algo in the new release? And something wrong in algo in 9.1.3? Thanks

[ shrug... ] When you're not showing us exactly what you did, it's hard
to answer that for sure. But there is some prefiltering logic in
joinpath.c that you might have to lobotomize too if you want to keep
known-inferior join paths.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Qi Huang 2012-06-27 04:56:49 Re: Optimizer Path Candidates difference in 9.1.3 and 9.2 beta1
Previous Message Tom Lane 2012-06-27 04:00:49 Re: Posix Shared Mem patch