Skip to content

Commit

Permalink
sysvar: add 12 sysvars to docs-cn (pingcap#11567) (pingcap#11594)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Oct 13, 2022
1 parent 0d28805 commit b46b74d
Showing 1 changed file with 177 additions and 2 deletions.
179 changes: 177 additions & 2 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -914,6 +914,14 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 这个变量用来控制是否启用统计信息快速分析功能。默认值 0 表示不开启。
- 快速分析功能开启后,TiDB 会随机采样约 10000 行的数据来构建统计信息。因此在数据分布不均匀或者数据量比较少的情况下,统计信息的准确度会比较低。这可能导致执行计划不优,比如选错索引。如果可以接受普通 `ANALYZE` 语句的执行时间,则推荐关闭快速分析功能。
### `tidb_enable_historical_stats`
- 作用域:GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`OFF`
- 该变量用于一个未发布的特性,**请勿修改该变量值**
### `tidb_enable_index_merge` <span class="version-mark">从 v4.0 版本开始引入</span>
> **注意:**
Expand All @@ -927,7 +935,16 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 默认值:`ON`
- 这个变量用于控制是否开启 index merge 功能。
### tidb_enable_legacy_instance_scope <span class="version-mark">从 v6.0.0 版本开始引入</span>
### `tidb_enable_index_merge_join`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`OFF`
- 表示是否启用 `IndexMergeJoin` 算子。
- 该变量为 TiDB 内部变量,**不推荐使用**,否则可能会造成数据正确性问题。
### `tidb_enable_legacy_instance_scope` <span class="version-mark">从 v6.0.0 版本开始引入</span>
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
Expand All @@ -942,6 +959,14 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 默认值:`ON`
- 这个变量用来设置是否开启 `LIST (COLUMNS) TABLE PARTITION` 特性。
### `tidb_enable_local_txn`
- 作用域:GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`OFF`
- 该变量用于一个未发布的特性,**请勿修改该变量值**
### `tidb_enable_mutation_checker` <span class="version-mark">从 v6.0.0 版本开始引入</span>
- 作用域:SESSION | GLOBAL
Expand Down Expand Up @@ -991,6 +1016,14 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 默认值:0
- 这个变量用于控制是否开启 Apply 算子并发,并发数由 `tidb_executor_concurrency` 变量控制。Apply 算子用来处理关联子查询且默认无并发,所以执行速度较慢。打开 Apply 并发开关可增加并发度,提高执行速度。目前默认关闭。
### `tidb_enable_pipelined_window_function`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`ON`
- 该变量指定是否对窗口函数采用流水线的执行算法。
### `tidb_enable_prepared_plan_cache` <span class="version-mark">从 v6.1.0 版本开始引入</span>
- 作用域:GLOBAL
Expand Down Expand Up @@ -1281,6 +1314,25 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- `txn_mode`:事务模式。可选值:`OPTIMISTIC`(乐观事务模式),或 `PESSIMISTIC`(悲观事务模式)
- `sql`:当前查询对应的 SQL 语句
### `tidb_guarantee_linearizability` <span class="version-mark">从 v5.0 版本开始引入</span>
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`ON`
- 此变量控制异步提交 (Async Commit) 中提交时间戳的计算方式。默认情况下(使用 `OFF` 值),两阶段提交从 PD 服务器请求一个新的时间戳,并使用该时间戳计算最终提交的时间戳,这样可保证所有并发事务可线性化。
- 如果将该变量值设为 `ON`,从 PD 获取的时间戳的操作会被省掉,这种情况下只保证因果一致性但不保证线性一致性。详情请参考 PingCAP 博文 [Async Commit 原理介绍](https://pingcap.com/zh/blog/async-commit-principle)。
- 对于需要只保证因果一致性的场景,可将此变量设为 `ON` 以提升性能。
### `tidb_hash_exchange_with_new_collation`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`ON`
- 该值表示是否在开启 new collation 的集群里生成 MPP hash partition exchange 算子。`true` 表示生成此算子,`false`表示不生成。
- 该变量为 TiDB 内部变量,**不推荐设置该变量**
### `tidb_hash_join_concurrency`
> **警告:**
Expand Down Expand Up @@ -1429,7 +1481,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 范围:`[100, 16384]`
- 这个变量用来设置缓存 schema 版本信息(对应版本修改的相关 table IDs)的个数限制,可设置的范围 100 - 16384。此变量在 2.1.18 及之后版本支持。
### tidb_mem_oom_action <span class="version-mark">从 v6.1.0 版本开始引入</span>
### `tidb_mem_oom_action` <span class="version-mark">从 v6.1.0 版本开始引入</span>
- 作用域:GLOBAL
- 是否持久化到集群:是
Expand Down Expand Up @@ -1494,6 +1546,14 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- TiDB 内存使用占总内存的比例超过一定阈值时会报警。该功能的详细介绍和使用方法可以参考 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入)。
- 该变量的初始值可通过 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入) 进行配置。
### `tidb_merge_join_concurrency`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 默认值:`1`
- 设置 `MergeJoin` 算子执行查询时的并发度。
- **不推荐设置该变量**,修改该变量值可能会造成数据正确性问题。
### `tidb_metric_query_range_duration` <span class="version-mark">从 v4.0 版本开始引入</span>
- 作用域:SESSION
Expand Down Expand Up @@ -1556,6 +1616,35 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 默认值:`OFF`
- 这个变量用来设置优化器是否执行聚合函数下推到 Join,Projection 和 UnionAll 之前的优化操作。当查询中聚合操作执行很慢时,可以尝试设置该变量为 ON
### `tidb_opt_broadcast_cartesian_join`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:整数
- 默认值:`1`
- 范围:`[0, 2]`
- 表示是否允许 Broadcast Cartesian Join 算法。
- 值为 `0` 时表示不允许使用 Broadcast Cartesian Join 算法。值为 `1` 时表示根据 [`tidb_broadcast_join_threshold_count`](#tidb_broadcast_join_threshold_count-从-v50-版本开始引入) 的行数阈值确定是否允许使用 Broadcast Cartesian Join 算法。值为 `2` 时表示总是允许 Broadcast Cartesian Join 算法,即使表的大小超过了该阈值。
- 该变量是 TiDB 内部使用的变量,**不推荐**修改该变量的值。
### `tidb_opt_concurrency_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`3.0`
- 表示在 TiDB 中开启一个 Golang goroutine 的 CPU 开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_copcpu_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`3.0`
- 表示 TiKV 协处理器处理一行数据的 CPU 开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_correlation_exp_factor`
- 作用域:SESSION | GLOBAL
Expand All @@ -1572,6 +1661,33 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 这个变量用来设置优化器启用交叉估算 row count 方法的阈值。如果列和 handle 列之间的顺序相关性超过这个阈值,就会启用交叉估算方法。
- 交叉估算方法可以简单理解为,利用这个列的直方图来估算 handle 列需要扫的行数。
### `tidb_opt_cpu_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`3.0`
- 表示 TiDB 处理一行数据的 CPU 开销。该变量是[代价模型](/cost-model.md)内部使用的变量,不建议修改该变量的值。
### `tidb_opt_desc_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`3.0`
- 表示降序扫描时,TiKV 在磁盘上扫描一行数据的开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_disk_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`1.5`
- 表示 TiDB 往临时磁盘读写一个字节数据的 I/O 开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_distinct_agg_push_down`
- 作用域:SESSION
Expand Down Expand Up @@ -1662,6 +1778,32 @@ mysql> desc select count(distinct a) from test.t;
- 这个变量用来设置将 Limit 和 TopN 算子下推到 TiKV 的阈值。
- 如果 Limit 或者 TopN 的取值小于等于这个阈值,则 Limit 和 TopN 算子会被强制下推到 TiKV。该变量可以解决部分由于估算误差导致 Limit 或者 TopN 无法被下推的问题。
### `tidb_opt_memory_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`0.001`
- 表示 TiDB 存储一行数据的内存开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_mpp_outer_join_fixed_build_side` <span class="version-mark">从 v5.1.0 版本开始引入</span>
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`OFF`
- 当该变量值为 `ON` 时,左连接始终使用内表作为构建端,右连接始终使用外表作为构建端。将该变量值设为 `OFF` 后,外连接可以灵活选择任意一边表作为构建端。
### `tidb_opt_network_factor`
- 作用域:SESSION | GLOBAL
- 是否持久化
- 类型:浮点数
- 范围:`[0, 2147483647]`
- 默认值:`1.0`
- 表示传输 1 比特数据的网络净开销。该变量是[代价模型](/cost-model.md)内部使用的变量,**不建议**修改该变量的值。
### `tidb_opt_prefer_range_scan` <span class="version-mark">从 v5.0 版本开始引入</span>
- 作用域:SESSION | GLOBAL
Expand Down Expand Up @@ -1911,6 +2053,14 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
- 范围:`[-1, 256]`
- TiFlash 中 request 执行的最大并发度。默认值为 -1,表示该系统变量无效。0 表示由 TiFlash 系统自动设置该值。
### `tidb_mpp_store_fail_ttl`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:Duration
- 默认值:`60s`
- 刚重启的 TiFlash 可能不能正常提供服务。为了防止查询失败,TiDB 会限制 tidb-server 向刚重启的 TiFlash 节点发送查询。这个变量表示刚重启的 TiFlash 不被发送请求的时间范围。
### `tidb_slow_query_file`
- 作用域:SESSION
Expand Down Expand Up @@ -1998,6 +2148,14 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
- 单位:秒
- 这个变量设置了 [statement summary tables](/statement-summary-tables.md) 的刷新时间。
### `tidb_streamagg_concurrency`
- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 默认值:`1`
- 设置 `StreamAgg` 算子执行查询时的并发度。
- **不推荐设置该变量**,修改该变量值可能会造成数据正确性问题。
### `tidb_top_sql_max_meta_count` <span class="version-mark">从 v6.0.0 版本开始引入</span>
- 作用域:GLOBAL
Expand Down Expand Up @@ -2176,6 +2334,23 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
这个变量是 `transaction_isolation` 的别名。
### `tx_read_ts`
- 作用域:SESSION
- 是否持续化到集群:否
- 默认值:`0`
- 在 Stale Read 场景下,该会话变量用于帮助记录 Stable Read TS 值。
- 该变量仅用于 TiDB 内部实现,**不推荐设置该变量**
### `txn_scope`
- 作用域:SESSION
- 是否持续化到集群:否
- 默认值:`global`
- 可选值:`global``local`
- 该变量用于设置当前会话下事务为全局事务(设为 `global`)还是局部事务(设为 `local`)。
- 该变量仅用于 TiDB 内部实现,**不推荐设置该变量**
### `version`
- 作用域:NONE
Expand Down

0 comments on commit b46b74d

Please sign in to comment.