Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: optimizer_join_order guc #4014

Merged
merged 4 commits into from Dec 5, 2017
Merged

docs: optimizer_join_order guc #4014

merged 4 commits into from Dec 5, 2017

Conversation

litzell
Copy link
Contributor

@litzell litzell commented Nov 30, 2017

Adds docs for new optimizer_join_order guc

@@ -29,6 +29,8 @@
aggregate plan for a scalar distinct qualified aggregate. </li>
<li><codeph>optimizer_force_three_stage_scalar_dqa</codeph> forces GPORCA to choose a plan
with multistage aggregates when such a plan alternative is generated. </li>
<li><codeph>optimizer_join_order</codeph> sets the optimization level for join ordering during
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like there's one too many "optimization's" here. How about: optimizer_join_order sets the query optimization level for join ordering by specifying which types of join ordering alternatives to evaluate.

</ul>
<p>The default value is <codeph>exhaustive</codeph>. Setting this parameter to
<codeph>query</codeph> or <codeph>greedy</codeph> can generate a suboptimal
query plan. </p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like we should provide some rationale for changing the default. I'm guessing it would reduce the time spent in optimizing certain queries?

@mkiyama
Copy link
Contributor

mkiyama commented Dec 1, 2017

@litzell @vraghavan78
I am not sure but these GUCs might effect exhaustive and possibly greedy.
optimizer_join_order_threshold
optimizer_join_arity_for_associativity_commutativity

Also FYI - there is this issue wrt optimizer_join_order_threshold
greenplum-db/gporca#268

<codeph>query</codeph> or <codeph>greedy</codeph> can generate a suboptimal
query plan. However, if the administrator is confident that a satisfactory plan
is generated with the <codeph>query</codeph> or <codeph>greedy</codeph> setting,
query performance can be improved by setting the parameter to the lower
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

query optimization time can be improved ....

@vraghavan78
Copy link
Member

when you set it to greedy/query it will override

  • optimizer_join_order_threshold
  • optimizer_join_arity_for_associativity_commutativity

The issue you mentioned is orthogonal to join optimization levels so now worries there

@mkiyama
Copy link
Contributor

mkiyama commented Dec 1, 2017

@litzell
I think you need mention "When GPORCA is enabled, this parameter sets... "

@vraghavan78
Are the other gucs are ignored? If they are overridden, what are the new values?

@litzell litzell merged commit de67a24 into greenplum-db:master Dec 5, 2017
litzell added a commit that referenced this pull request Dec 5, 2017
* docs: optimizer_join_order guc

* Implement suggested edits

* Note iteractions with other params; correct inaccurate statement.

* Clarify this is a GPORCA guc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants