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

tidb_capture_plan_baselines and statement summary related variables are global only #8186

Merged
merged 1 commit into from
Jan 27, 2022
Merged
Show file tree
Hide file tree
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
7 changes: 0 additions & 7 deletions statement-summary-tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,6 @@ set global tidb_stmt_summary_history_size = 24;

以上配置生效后,`statements_summary` 每 30 分钟清空一次,所以 `statements_summary_history` 保存最近 12 小时的历史数。`statements_summary_evicted` 保存最近 24 个发生了 evict 的时间段记录;`statements_summary_evicted` 则以 30 分钟为一个记录周期,表容量为 24 个时间段。

以上几个系统变量都有 global 和 session 两种作用域,它们的生效方式与其他系统变量不一样:

- 设置 global 变量后整个集群立即生效
- 设置 session 变量后当前 TiDB server 立即生效,这对于调试单个 TiDB server 比较有用
- 优先读 session 变量,没有设置过 session 变量才会读 global 变量
- 把 session 变量设为空字符串,将会重新读 global 变量

> **注意:**
>
> `tidb_stmt_summary_history_size`、`tidb_stmt_summary_max_stmt_count`、`tidb_stmt_summary_max_sql_length` 这些配置都影响内存占用,建议根据实际情况调整,不宜设置得过大。
Expand Down
16 changes: 8 additions & 8 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`OFF`
- 这个变量用于控制是否开启[自动捕获绑定](/sql-plan-management.md#自动捕获绑定-baseline-capturing)功能。该功能依赖 Statement Summary,因此在使用自动绑定之前需打开 Statement Summary 开关。
- 开启该功能后会定期遍历一次 Statement Summary 中的历史 SQL 语句,并为至少出现两次的 SQL 语句自动创建绑定。
Expand Down Expand Up @@ -693,7 +693,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数

### `tidb_enable_stmt_summary` <span class="version-mark">从 v3.0.4 版本开始引入</span>

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`ON`
- 这个变量用来控制是否开启 statement summary 功能。如果开启,SQL 的耗时等执行信息将被记录到系统表 `information_schema.STATEMENTS_SUMMARY` 中,用于定位和排查 SQL 性能问题。

Expand Down Expand Up @@ -1421,34 +1421,34 @@ set tidb_slow_log_threshold = 200;

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`24`
- 范围:`[0, 255]`
- 这个变量设置了 [statement summary tables](/statement-summary-tables.md) 的历史记录容量。

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`OFF`
- 这个变量用来控制是否在 [statement summary tables](/statement-summary-tables.md) 中包含 TiDB 内部 SQL 的信息。

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`4096`
- 范围:`[0, 2147483647]`
- 这个变量控制 [statement summary tables](/statement-summary-tables.md) 显示的 SQL 字符串长度。

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`3000`
- 范围:`[1, 32767]`
- 这个变量设置了 [statement summary tables](/statement-summary-tables.md) 在内存中保存的语句的最大数量。

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

- 作用域:SESSION | GLOBAL
- 作用域:GLOBAL
- 默认值:`1800`
- 范围:`[1, 2147483647]`
- 单位:秒
Expand Down Expand Up @@ -1589,4 +1589,4 @@ set tidb_slow_log_threshold = 200;

- 作用域:SESSION | GLOBAL
- 默认值:`ON`
- 这个变量用于控制计算窗口函数时是否采用高精度模式。
- 这个变量用于控制计算窗口函数时是否采用高精度模式。