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

Add doc for tiflash_hash_join_version system variable #20670

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all 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
19 changes: 19 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -6341,6 +6341,25 @@ For details, see [Identify Slow Queries](/identify-slow-queries.md).
- `force_streaming`: TiFlash directly sends data to the next stage of HashAgg without pre-aggregation.
- `auto`: TiFlash automatically chooses whether to perform pre-aggregation based on the current workload's aggregation degree.

### tiflash_hash_join_version <span class="version-mark">New in v9.1.0</span>

> **Warning:**
>
> The feature controlled by this variable is experimental. It is not recommended that you use it in the production environment. This feature might be changed or removed without prior notice. If you find a bug, you can report an [issue](https://github.com/pingcap/tidb/issues) on GitHub.

- Scope: SESSION | GLOBAL
- Persists to cluster: Yes
- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes
- Type: Enumeration
- Default value: `legacy`.
- Possible values: `legacy`, `optimized`
- This variable is used to control whether TiFlash uses an optimized version of hash join. The value is `legacy` by default, which means the optimized version is not used. If it is set to `optimized`, TiFlash uses the optimized version to execute hash join for better performance.

> **Note:**
>
> - Currently, the optimized hash join only supports inner join, so for other joins, even if `tiflash_hash_join_version` is set to `optimized`, TiFlash still uses the legacy hash join.
> - Currently, the optimized hash join in TiFlash does not support spilling data to disk when the memory usage exceeds its quota. As a result, if both [`tiflash_mem_quota_query_per_node`](/system-variables.md#tiflash_mem_quota_query_per_node-new-in-v740) and [`tiflash_query_spill_ratio`](/system-variables.md#tiflash_query_spill_ratio-new-in-v740) are set to values greater than 0, or if [tidb_max_bytes_before_tiflash_external_join](/system-variables.md#tidb_max_bytes_before_tiflash_external_join-new-in-v700) is greater than 0, TiFlash will not use the optimized hash join.

### tikv_client_read_timeout <span class="version-mark">New in v7.4.0</span>

- Scope: SESSION | GLOBAL
Expand Down