-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Update tidb-specific-system-variables.md #3159
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
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
f010347
Update tidb-specific-system-variables.md
bobotu 9ea94bc
Merge branch 'docs-special-week' into sys-var
a7b99b2
remove tidb_enable_radix_join
bobotu 15f8b0e
Merge branch 'docs-special-week' into sys-var
toutdesuite 63a7db0
Apply suggestions from code review
bobotu 0da5407
address comments
bobotu aa0bcde
remove unused vars and add a missing one
bobotu a76f81f
fix wrong punctuation
ran-huang 7a32440
Merge branch 'docs-special-week' into sys-var
sre-bot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -34,16 +34,6 @@ set @@global.tidb_distsql_scan_concurrency = 10; | |
|
|
||
| 这个变量用来设置当前会话期待读取的历史数据所处时刻。比如当设置为 "2017-11-11 20:20:20" 时或者一个 TSO 数字 "400036290571534337",当前会话将能读取到该时刻的数据。 | ||
|
|
||
| ### tidb_import_data | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:0 | ||
|
|
||
| 这个变量用来表示当前状态是否为从 dump 文件中导入数据。 | ||
| 当这个变量被设置为 1 时,唯一索引约束不被检查以加速导入速度。 | ||
| 这个变量不对外用,只是给 lightning 使用,请用户不要自行修改。 | ||
|
|
||
| ### tidb_opt_agg_push_down | ||
|
|
||
| 作用域:SESSION | ||
|
|
@@ -457,21 +447,6 @@ mysql> desc select count(distinct a) from test.t; | |
|
|
||
| 这个变量用来设置是否允许 insert、replace 和 update 操作 `_tidb_rowid` 列,默认是不允许操作。该选项仅用于 TiDB 工具导数据时使用。 | ||
|
|
||
| ### SHARD_ROW_ID_BITS | ||
|
|
||
| 对于 PK 非整数或没有 PK 的表,TiDB 会使用一个隐式的自增 rowid,大量 `INSERT` 时会把数据集中写入单个 Region,造成写入热点。 | ||
|
|
||
| 通过设置 `SHARD_ROW_ID_BITS`,可以把 rowid 打散写入多个不同的 Region,缓解写入热点问题。但是设置的过大会造成 RPC 请求数放大,增加 CPU 和网络开销。 | ||
|
|
||
| - `SHARD_ROW_ID_BITS = 4` 表示 16 个分片 | ||
| - `SHARD_ROW_ID_BITS = 6` 表示 64 个分片 | ||
| - `SHARD_ROW_ID_BITS = 0` 表示默认值 1 个分片 | ||
|
|
||
| 语句示例: | ||
|
|
||
| - `CREATE TABLE`:`CREATE TABLE t (c int) SHARD_ROW_ID_BITS = 4;` | ||
| - `ALTER TABLE`:`ALTER TABLE t SHARD_ROW_ID_BITS = 4;` | ||
|
|
||
| ### tidb_row_format_version | ||
|
|
||
| 作用域:GLOBAL | ||
|
|
@@ -484,6 +459,22 @@ mysql> desc select count(distinct a) from test.t; | |
|
|
||
| 需要注意的是修改该变量不会对已保存的老数据产生影响,只会对修改变量后的新写入数据使用对应版本格式保存。 | ||
|
|
||
| ### tidb_enable_slow_log | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:1 | ||
|
|
||
| 这个变量用于控制是否开启 slow log 功能,默认开启。 | ||
|
|
||
| ### tidb_record_plan_in_slow_log | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:1 | ||
|
|
||
| 这个变量用于控制是否在 slow log 里包含慢查询的执行计划。 | ||
|
|
||
| ### tidb_slow_log_threshold | ||
|
|
||
| 作用域:SESSION | ||
|
|
@@ -717,10 +708,50 @@ TiDB 默认会在建表时为新表分裂 Region。开启该变量后,会在 | |
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值:0 | ||
| 默认值:1(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量用来控制是否开启 statement summary 功能。如果开启,SQL 的耗时等执行信息将被记录到系统表 `performance_schema.events_statements_summary_by_digest` 中,用于定位和排查 SQL 性能问题。 | ||
|
|
||
| ### tidb_stmt_summary_internal_query <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量用来控制是否在 statement summary 中包含 TiDB 内部 SQL 的信息。 | ||
|
|
||
| ### tidb_stmt_summary_refresh_interval <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 1800(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量设置了 statement summary 的刷新时间,单位为秒。 | ||
|
|
||
| ### tidb_stmt_summary_history_size <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 24(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量设置了 statement summary 的历史记录容量。 | ||
|
|
||
| ### tidb_stmt_summary_max_stmt_count <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 200(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量设置了 statement summary 在内存中保存的语句的最大数量。 | ||
|
|
||
| ### tidb_stmt_summary_max_sql_length <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值:4096(受配置文件影响,这里给出的是默认配置文件取值) | ||
|
|
||
| 这个变量控制 statement summary 显示的 SQL 字符串长度。 | ||
|
|
||
| ### tidb_enable_chunk_rpc <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
@@ -736,3 +767,185 @@ TiDB 默认会在建表时为新表分裂 Region。开启该变量后,会在 | |
| 默认值:0 | ||
|
|
||
| 这个变量用来显示上一个 `execute` 语句所使用的执行计划是不是直接从 plan cache 中取出来的。 | ||
|
|
||
| ### ddl_slow_threshold | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:300 | ||
|
|
||
| 耗时超过该阈值的 ddl 操作会被输出到日志,单位为毫秒。 | ||
|
|
||
| ### tidb_pprof_sql_cpu <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:0 | ||
|
|
||
| 这个变量用来控制是否在 profile 输出中标记出对应的 SQL 语句,用于定位和排查性能问题。 | ||
|
|
||
| ### tidb_skip_isolation_level_check | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:0 | ||
|
|
||
| 开启这个开关之后,如果对 `tx_isolation` 赋值一个 TiDB 不支持的隔离级别,不会报错。 | ||
|
|
||
| ### tidb_low_resolution_tso | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值:0 | ||
|
|
||
| 这个变量用来设置是否启用低精度 tso 特性,开启该功能之后新事务会使用一个每 2s 更新的 ts 来读取数据。 | ||
|
|
||
| 主要场景是在可以容忍读到旧数据的情况下,降低小的只读事务获取 tso 的开销。 | ||
bobotu marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ### tidb_replica_read <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值: leader | ||
|
|
||
| 这个变量用于控制 TiDB 读取数据的位置,有以下三个选择: | ||
|
|
||
| * leader:只从 leader 节点读取 | ||
| * follower:只从 follower 节点读取 | ||
| * leader-and-follower:从 leader 或 follower 节点读取 | ||
|
|
||
| ### tidb_use_plan_baselines <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: on | ||
|
|
||
| 这个变量用于控制是否开启执行计划绑定功能,默认打开,可通过赋值 off 来关闭。关于执行计划绑定功能的使用可以参考[执行计划绑定文档](/execution-plan-binding.md#创建绑定)。 | ||
|
|
||
| ### tidb_capture_plan_baselines <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: off | ||
|
|
||
| 这个变量用于控制是否开启自动创建绑定功能。该功能依赖 Statement Summary,因此在使用自动绑定之前需打开 Statement Summary 开关。 | ||
|
|
||
| 开启该功能后会定期遍历一次 Statement Summary 中的历史 SQL 语句,并为至少出现两次的 SQL 语句自动创建绑定。 | ||
|
|
||
| ### tidb_evolve_plan_baselines <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: off | ||
|
|
||
| 这个变量用于控制是否启用自动演进绑定功能。该功能的详细介绍和使用方法可以参考[自动演进绑定](/execution-plan-binding.md#自动演进绑定)。 | ||
|
|
||
| 为了减少自动演进对集群的影响,可以通过 `tidb_evolve_plan_task_max_time` 来限制每个执行计划运行的最长时间,其默认值为 600s;通过 `tidb_evolve_plan_task_start_time` 和 `tidb_evolve_plan_task_end_time` 可以限制运行演进任务的时间窗口,默认值分别为 `00:00 +0000` 和 `23:59 +0000`。 | ||
|
|
||
| ### tidb_evolve_plan_task_max_time <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:GLOBAL | ||
|
|
||
| 默认值:600 | ||
|
|
||
| 该变量用于限制自动演进功能中,每个执行计划运行的最长时间,单位为秒。 | ||
|
|
||
| ### tidb_evolve_plan_task_start_time <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:GLOBAL | ||
|
|
||
| 默认值:00:00 +0000 | ||
|
|
||
| 这个变量用来设置一天中允许自动演进的开始时间。 | ||
|
|
||
| ### tidb_evolve_plan_task_end_time <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:GLOBAL | ||
|
|
||
| 默认值:23:59 +0000 | ||
|
|
||
| 这个变量用来设置一天中允许自动演进的结束时间。 | ||
|
|
||
| ### tidb_allow_batch_cop <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note that this item has been aligned in https://github.com/pingcap/docs/pull/3002/files#diff-36f1f55efb0294795b77879ecad344a0R575, FYI @CaitinChen |
||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0 | ||
|
|
||
| 这个变量用于控制 TiDB 向 TiFlash 发送 coprocessor 请求的方式,有以下几种取值: | ||
|
|
||
| * 0:从不批量发送请求 | ||
| * 1:aggregation 和 join 的请求会进行批量发送 | ||
| * 2:所有的 cop 请求都会批量发送 | ||
|
|
||
| ### tidb_enable_cascades_planner | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0 | ||
|
|
||
| 这个变量用于控制是否开启 cascades planner。 | ||
|
|
||
| ### tidb_window_concurrency <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 4 | ||
|
|
||
| 这个变量用于设置 window 算子的并行度。 | ||
|
|
||
| ### tidb_enable_vectorized_expression <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 1 | ||
|
|
||
| 这个变量用于控制是否开启向量化执行。 | ||
|
|
||
| ### tidb_enable_index_merge <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0 | ||
|
|
||
| 这个变量用于控制是否开启 index merge 功能。 | ||
|
|
||
| ### tidb_enable_noop_functions <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0 | ||
|
|
||
| 这个变量用于控制是否开启 `get_lock` 和 `release_lock` 这两个没有实现的函数。需要注意的是,当前版本的 TiDB 这两个函数永远返回 1。 | ||
|
|
||
| ### tidb_isolation_read_engines <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值: tikv, tiflash, tidb | ||
|
|
||
| 这个变量用于设置 TiDB 在读取数据时可以使用的存储引擎列表。 | ||
|
|
||
| ### tidb_store_limit <span class="version-mark">从 v3.0.4 和 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | GLOBAL | ||
|
|
||
| 默认值: 0 | ||
|
|
||
| 这个变量用于限制 TiDB 同时向 TiKV 发送的请求的最大数量,0 表示没有限制。 | ||
|
|
||
| ### tidb_metric_query_step <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值: 60 | ||
|
|
||
| 这个变量设置了查询 METRIC_SCHEMA 时生成的 Prometheus 语句的 step,单位为秒。 | ||
|
|
||
| ### tidb_metric_query_range_duration <span class="version-mark">从 v4.0 版本开始引入</span> | ||
|
|
||
| 作用域:SESSION | ||
|
|
||
| 默认值: 60 | ||
|
|
||
| 这个变量设置了查询 METRIC_SCHEMA 时生成的 Prometheus 语句的 range duration,单位为秒。 | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.