Skip to content
Merged
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -4297,6 +4297,24 @@ mysql> desc select count(distinct a) from test.t;
- Default value: `OFF`
- This variable controls whether to enable the [Cross-database binding](/sql-plan-management.md#cross-database-binding) feature.

### tidb_opt_enable_no_decorrelate_in_select <span class="version-mark">New in v8.5.4 and v9.0.0</span>

- Scope: SESSION | GLOBAL
- Persists to cluster: Yes
- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes
- Type: Boolean
- Default value: `OFF`
- This variable controls whether the optimizer applies the [`NO_DECORRELATE()`](/optimizer-hints.md#no_decorrelate) hint for all queries that contain a subquery in the `SELECT` list.

Choose a reason for hiding this comment

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

low

For better clarity, consider rephrasing the description to explain the variable's effect directly, rather than describing it as 'applying a hint'.1

Suggested change
- This variable controls whether the optimizer applies the [`NO_DECORRELATE()`](/optimizer-hints.md#no_decorrelate) hint for all queries that contain a subquery in the `SELECT` list.
- This variable controls whether to disable decorrelation for all subqueries in the `SELECT` list. Setting this variable to `ON` has the same effect as adding the [`NO_DECORRELATE()`](/optimizer-hints.md#no_decorrelate) hint to all applicable queries.

Style Guide References

Footnotes

  1. The style guide recommends making documentation easy to understand for users. The suggested change explains what the variable does directly, which is more user-friendly.


### tidb_opt_enable_semi_join_rewrite <span class="version-mark">New in v8.5.4 and v9.0.0</span>

- Scope: SESSION | GLOBAL
- Persists to cluster: Yes
- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): No
- Type: Boolean
- Default value: `OFF`
- This variable controls whether the optimizer applies the [`SEMI_JOIN_REWRITE()`](/optimizer-hints.md#semi_join_rewrite) hint for all queries that contain subqueries.

Choose a reason for hiding this comment

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

medium

The description for this variable seems too general and could be more direct. According to the optimizer-hints.md documentation, the SEMI_JOIN_REWRITE() hint currently only works for EXISTS subqueries. To improve technical accuracy and clarity, I suggest rephrasing the description.12

Suggested change
- This variable controls whether the optimizer applies the [`SEMI_JOIN_REWRITE()`](/optimizer-hints.md#semi_join_rewrite) hint for all queries that contain subqueries.
- This variable controls whether to rewrite semi-join queries to ordinary join queries for all queries that contain `EXISTS` subqueries. Setting this variable to `ON` has the same effect as adding the [`SEMI_JOIN_REWRITE()`](/optimizer-hints.md#semi_join_rewrite) hint to all applicable queries.

Style Guide References

Footnotes

  1. The style guide emphasizes technical accuracy. The current description is too broad and could be misleading, as the underlying hint has a more specific scope.

  2. The style guide recommends making documentation easy to understand for users. The suggested change explains what the variable does directly, rather than describing it as 'applying a hint', which is more user-friendly.


### tidb_opt_fix_control <span class="version-mark">New in v6.5.3 and v7.1.0</span>

<CustomContent platform="tidb">
Expand Down