Skip to content

Commit 07c8083

Browse files
authored
system-variables: update noop functions (#4588)
1 parent dd5fe54 commit 07c8083

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

system-variables.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ SET GLOBAL tidb_distsql_scan_concurrency = 10;
323323
开启该特性对性能的影响主要体现在以下几个方面:
324324
- 插入的时候每行会减少一个索引 key 的写入。
325325
- 使用主键作为等值条件查询的时候,会节省一次读取请求。
326-
- 使用单列主键作为范围条件查询的时候,可以节省多次读取请求。
326+
- 使用单列主键作为范围条件查询的时候,可以节省多次读取请求。
327327
- 使用多列主键的前缀作为等值或范围条件查询的时候,可以节省多次读取请求。
328328

329329
### `tidb_enable_chunk_rpc` <span class="version-mark">从 v4.0 版本开始引入</span>
@@ -349,7 +349,15 @@ SET GLOBAL tidb_distsql_scan_concurrency = 10;
349349

350350
- 作用域:SESSION | GLOBAL
351351
- 默认值: 0
352-
- 这个变量用于控制是否开启 `get_lock``release_lock` 这两个没有实现的函数。需要注意的是,当前版本的 TiDB 这两个函数永远返回 1
352+
- 默认情况下,用户尝试将某些语法用于尚未实现的功能时,TiDB 会报错。若将该变量值设为 `1`,TiDB 则自动忽略此类功能不可用的情况,即不会报错。若用户无法更改 SQL 代码,可考虑将变量值设为 `1`
353+
- 启用 `noop` 函数可以控制以下行为:
354+
* `get_lock``release_lock` 函数
355+
* `LOCK IN SHARE MODE` 语法
356+
* `SQL_CALC_FOUND_ROWS` 语法
357+
358+
> **注意:**
359+
>
360+
> 该变量只有在默认值 `0` 时,才算是安全的。因为设置 `tidb_enable_noop_functions=1` 后,TiDB 会自动忽略某些语法而不报错,这可能会导致应用程序出现异常行为。
353361

354362
### `tidb_enable_slow_log`
355363

@@ -405,7 +413,7 @@ SET GLOBAL tidb_distsql_scan_concurrency = 10;
405413
- 作用域:SESSION | GLOBAL
406414
- 默认值: off
407415
- 这个变量用于控制是否启用自动演进绑定功能。该功能的详细介绍和使用方法可以参考[自动演进绑定](/sql-plan-management.md#自动演进绑定-baseline-evolution)。
408-
- 为了减少自动演进对集群的影响,可以进行以下配置:
416+
- 为了减少自动演进对集群的影响,可以进行以下配置:
409417

410418
- 设置 `tidb_evolve_plan_task_max_time`,限制每个执行计划运行的最长时间,其默认值为 600s;
411419
- 设置`tidb_evolve_plan_task_start_time``tidb_evolve_plan_task_end_time`,限制运行演进任务的时间窗口,默认值分别为 `00:00 +0000``23:59 +0000`
@@ -573,7 +581,7 @@ SET GLOBAL tidb_distsql_scan_concurrency = 10;
573581
- 这个变量用来设置优化器是否执行带有 `Distinct` 的聚合函数(比如 `select count(distinct a) from t`)下推到 Coprocessor 的优化操作。
574582
当查询中带有 `Distinct` 的聚合操作执行很慢时,可以尝试设置该变量为 `1`
575583

576-
在以下示例中,`tidb_opt_distinct_agg_push_down` 开启前,TiDB 需要从 TiKV 读取所有数据,并在 TiDB 侧执行 `disctinct``tidb_opt_distinct_agg_push_down` 开启后, `distinct a` 被下推到了 Coprocessor,在 `HashAgg_5` 里新增里一个 `group by``test.t.a`
584+
在以下示例中,`tidb_opt_distinct_agg_push_down` 开启前,TiDB 需要从 TiKV 读取所有数据,并在 TiDB 侧执行 `distinct``tidb_opt_distinct_agg_push_down` 开启后, `distinct a` 被下推到了 Coprocessor,在 `HashAgg_5` 里新增里一个 `group by``test.t.a`
577585

578586
```sql
579587
mysql> desc select count(distinct a) from test.t;

0 commit comments

Comments
 (0)