Skip to content

Commit

Permalink
system-variables: Add units wherever possible (#12807) (#12917)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Feb 3, 2023
1 parent 5757b8f commit e9e16db
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ mysql> SELECT * FROM t1;
- 默认值:`28800`
- 范围:`[1, 31536000]`
- 单位:秒
- 该变量表示交互式用户会话的空闲超时。交互式用户会话是指使用 `CLIENT_INTERACTIVE` 选项调用 [`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/5.7/en/mysql-real-connect.html) API 建立的会话(例如:MySQL shell 客户端)。该变量与 MySQL 完全兼容。
- 该变量表示交互式用户会话的空闲超时。交互式用户会话是指使用 `CLIENT_INTERACTIVE` 选项调用 [`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/5.7/en/mysql-real-connect.html) API 建立的会话(例如:MySQL shell 和 MySQL client)。该变量与 MySQL 完全兼容。

### `last_plan_from_binding` <span class="version-mark">从 v4.0 版本开始引入</span>

Expand Down Expand Up @@ -351,6 +351,7 @@ mysql> SELECT * FROM t1;
- 作用域:SESSION | GLOBAL
- 默认值:`18446744073709551615`
- 范围:`[0, 18446744073709551615]`
- 单位:行
- `SELECT` 语句返回的最大行数。
### `ssl_ca`
Expand Down Expand Up @@ -481,7 +482,8 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION | GLOBAL
- 默认值:`10240`
- 范围:`[0, 9223372036854775807]`
- 单位为行数。如果 join 的对象为子查询,优化器无法估计子查询结果集大小,在这种情况下通过结果集行数判断。如果子查询的行数估计值小于该变量,则选择 Broadcast Hash Join 算法。否则选择 Shuffled Hash Join 算法。
- 单位:行
- 如果 join 的对象为子查询,优化器无法估计子查询结果集大小,在这种情况下通过结果集行数判断。如果子查询的行数估计值小于该变量,则选择 Broadcast Hash Join 算法。否则选择 Shuffled Hash Join 算法。
### `tidb_broadcast_join_threshold_size` <span class="version-mark">从 v5.0 版本开始引入</span>
Expand All @@ -495,6 +497,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION | GLOBAL
- 默认值:`4`
- 单位:线程
- 这个变量用来设置 ANALYZE 语句执行时并发度。
- 当这个变量被设置得更大时,会对其它的查询语句执行性能产生一定影响。
Expand All @@ -516,6 +519,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION
- 默认值:`4`
- 单位:线程
- 这个变量用来设置 `ADMIN CHECKSUM TABLE` 语句执行时扫描索引的并发度。当这个变量被设置得更大时,会对其它的查询语句执行性能产生一定影响。
### `tidb_config`
Expand Down Expand Up @@ -589,10 +593,11 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:GLOBAL
- 默认值:`256`
- 范围:`[32, 10240]`
- 单位:行
- 这个变量用来设置 DDL 操作 `re-organize` 阶段的 batch size。比如 `ADD INDEX` 操作,需要回填索引数据,通过并发 `tidb_ddl_reorg_worker_cnt` 个 worker 一起回填数据,每个 worker 以 batch 为单位进行回填。
- 如果 `ADD INDEX` 操作时有较多 `UPDATE` 操作或者 `REPLACE` 等更新操作,batch size 越大,事务冲突的概率也会越大,此时建议调小 batch size 的值,最小值是 32
- 在没有事务冲突的情况下,batch size 可设为较大值(需要参考 worker 数量,见[线上负载与 `ADD INDEX` 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md)),最大值是 10240这样回填数据的速度更快,但是 TiKV 的写入压力也会变大。
- 在没有事务冲突的情况下,batch size 可设为较大值(需要参考 worker 数量,见[线上负载与 `ADD INDEX` 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md)),这样回填数据的速度更快,但是 TiKV 的写入压力也会变大。
### `tidb_ddl_reorg_priority`
Expand All @@ -605,6 +610,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:GLOBAL
- 默认值:`4`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置 DDL 操作 `re-organize` 阶段的并发度。
### `tidb_disable_txn_auto_retry`
Expand All @@ -626,6 +632,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION | GLOBAL
- 默认值:`15`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置 scan 操作的并发度。
- AP 类应用适合较大的值,TP 类应用适合较小的值。对于 AP 类应用,最大值建议不要超过所有 TiKV 节点的 CPU 核数。
- 若表的分区较多可以适当调小该参数(取决于扫描数据量的大小以及扫描频率),避免 TiKV 内存溢出 (OOM)。
Expand All @@ -635,6 +642,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION | GLOBAL
- 默认值:`0`
- 范围:`[0, 2147483647]`
- 单位:行
- 这个变量的值大于 `0` 时,TiDB 会将 `INSERT``LOAD DATA` 等语句在更小的事务中批量提交。这样可减少内存使用,确保大批量修改时事务大小不会达到 `txn-total-size-limit` 限制。
- 要使 `tidb_dml_batch_size` 作用于 `INSERT` 语句,你还需要将系统变量 [`tidb_batch_insert`](#tidb_batch_insert) 设置为 `ON`。
- 只有变量值为 `0` 时才符合 ACID 要求。否则无法保证 TiDB 的原子性和隔离性要求。
Expand Down Expand Up @@ -994,6 +1002,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 作用域:SESSION | GLOBAL
- 默认值:`5`
- 范围:`[1, 256]`
- 单位:线程
变量用来统一设置各个 SQL 算子的并发度,包括:
Expand Down Expand Up @@ -1038,6 +1047,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用于指定 GC 在[Resolve Locks(清理锁)](/garbage-collection-overview.md#resolve-locks清理锁)步骤中线程的数量。默认值 `-1` 表示由 TiDB 自主判断运行 GC 要使用的线程的数量。
### `tidb_gc_enable` <span class="version-mark">从 v5.0 版本开始引入</span>
Expand Down Expand Up @@ -1105,6 +1115,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置 hash join 算法的并发度。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand All @@ -1117,6 +1128,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置并行 hash aggregation 算法 final 阶段的执行并发度。对于聚合函数参数不为 distinct 的情况,HashAgg 分为 partial 和 final 阶段分别并行执行。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand All @@ -1129,6 +1141,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置并行 hash aggregation 算法 partial 阶段的执行并发度。对于聚合函数参数不为 distinct 的情况,HashAgg 分为 partial 和 final 阶段分别并行执行。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand All @@ -1137,6 +1150,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`25000`
- 范围:`[1, 2147483647]`
- 单位:行
- 这个变量用来设置 index lookup join 操作的 batch 大小,AP 类应用适合较大的值,TP 类应用适合较小的值。
### `tidb_index_lookup_concurrency`
Expand All @@ -1148,6 +1162,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置 index lookup 操作的并发度,AP 类应用适合较大的值,TP 类应用适合较小的值。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand All @@ -1160,6 +1175,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置 index lookup join 算法的并发度。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand All @@ -1168,20 +1184,23 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`20000`
- 范围:`[1, 2147483647]`
- 单位:行
- 这个变量用来设置 index lookup 操作的 batch 大小,AP 类应用适合较大的值,TP 类应用适合较小的值。
### `tidb_index_serial_scan_concurrency`
- 作用域:SESSION | GLOBAL
- 默认值:`1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用来设置顺序 scan 操作的并发度,AP 类应用适合较大的值,TP 类应用适合较小的值。
### `tidb_init_chunk_size`
- 作用域:SESSION | GLOBAL
- 默认值:`32`
- 范围:`[1, 32]`
- 单位:行
- 这个变量用来设置执行过程中初始 chunk 的行数。默认值是 32,可设置的范围是 132
### `tidb_isolation_read_engines` <span class="version-mark">从 v4.0 版本开始引入</span>
Expand Down Expand Up @@ -1209,6 +1228,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 作用域:SESSION | GLOBAL
- 默认值:`1024`
- 范围:`[32, 2147483647]`
- 单位:行
- 这个变量用来设置执行过程中一个 chunk 最大的行数,设置过大可能引起缓存局部性的问题。
### `tidb_max_delta_schema_count`
Expand Down Expand Up @@ -1452,6 +1472,7 @@ explain select * from t where age=5;
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[-1, 256]`
- 单位:线程
- 这个变量用来设置 `Projection` 算子的并发度。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand Down Expand Up @@ -1760,6 +1781,7 @@ set tidb_slow_log_threshold = 200;
- 作用域:SESSION | GLOBAL
- 默认值:`-1`
- 范围:`[1, 256]`
- 单位:线程
- 这个变量用于设置 window 算子的并行度。
- 默认值 `-1` 表示使用 `tidb_executor_concurrency` 的值。
Expand Down

0 comments on commit e9e16db

Please sign in to comment.