diff --git a/system-variables.md b/system-variables.md index e008f6831075..f4237ee6e13f 100644 --- a/system-variables.md +++ b/system-variables.md @@ -2807,6 +2807,25 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告) - 这个变量用来设置 hash join 算法的并发度。 - 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。 +### `tidb_hash_join_version` 从 v8.4.0 版本开始引入 + +> **警告:** +> +> 该变量控制的功能为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。 + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:是 +- 类型:枚举型 +- 默认值:`legacy` +- 可选值:`legacy`、`optimized` +- 控制 TiDB 是否使用 Hash Join 算子的优化版。默认值为 `legacy`,代表不使用优化版。若设置为 `optimized`,TiDB 在执行 Hash Join 算子时将使用其优化版,以提升 Hash Join 性能。 + +> **注意:** +> +> - 目前,仅 Inner Join 和 Outer Join 类型的连接操作支持优化版的 Hash Join。对于其他类型的连接操作,即使将该变量设成 `optimized`,TiDB 也不会使用优化版的 Hash Join。 +> - 目前,优化版的 Hash Join 不支持在内存使用超限时落盘内存数据。 + ### `tidb_hashagg_final_concurrency` > **警告:**