Skip to content

Commit

Permalink
align multiple pr sql (pingcap#8830)
Browse files Browse the repository at this point in the history
  • Loading branch information
TomShawn authored Apr 7, 2022
1 parent 7627dac commit 3055416
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 14 deletions.
9 changes: 6 additions & 3 deletions mysql-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ aliases: ['/docs-cn/dev/mysql-compatibility/','/docs-cn/dev/reference/mysql-comp
* 事件
* 自定义函数
* 外键约束 [#18209](https://github.com/pingcap/tidb/issues/18209)
* 全文/空间函数与索引 [#1793](https://github.com/pingcap/tidb/issues/1793)
* 全文语法与索引 [#1793](https://github.com/pingcap/tidb/issues/1793)
* 空间类型的函数(即 `GIS`/`GEOMETRY`)、数据类型和索引 [#6347](https://github.com/pingcap/tidb/issues/6347)
*`ascii``latin1``binary``utf8``utf8mb4``gbk` 的字符集
* SYS schema
* MySQL 追踪优化器
Expand Down Expand Up @@ -114,7 +115,9 @@ TiDB 中的[信息统计](/statistics.md#手动收集)与 MySQL 中的有所不

- 不支持 `SELECT ... INTO @变量` 语法。
- 不支持 `SELECT ... GROUP BY ... WITH ROLLUP` 语法。
- TiDB 中的 `SELECT .. GROUP BY expr` 的返回结果与 MySQL 5.7 并不一致。MySQL 5.7 的结果等价于 `GROUP BY expr ORDER BY expr`。而 TiDB 中该语法所返回的结果并不承诺任何顺序,与 MySQL 8.0 的行为一致。
- TiDB 中的 `SELECT .. GROUP BY expr` 的返回结果与 MySQL 5.7 并不一致。MySQL 5.7 的结果等价于 `GROUP BY expr ORDER BY expr`

详情参见 [`SELECT`](/sql-statements/sql-statement-select.md)

### 视图

Expand All @@ -138,7 +141,7 @@ TiDB 中的视图不可更新,不支持 `UPDATE`、`INSERT`、`DELETE` 等写

TiDB 支持大部分 [SQL 模式](/sql-mode.md)。不支持的 SQL 模式如下:

- 不支持兼容模式,例如:`Oracle``PostgreSQL`(TiDB 解析但会忽略这两个兼容模式),MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。
- 不支持兼容模式,例如:`Oracle``PostgreSQL`(TiDB 解析但会忽略这两个兼容模式),MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。
- TiDB 的 `ONLY_FULL_GROUP_BY` 模式与 MySQL 5.7 相比有细微的[语义差别](/functions-and-operators/aggregate-group-by-functions.md#与-mysql-的区别)
- `NO_DIR_IN_CREATE``NO_ENGINE_SUBSTITUTION` 仅用于解决与 MySQL 的兼容性问题,并不适用于 TiDB。

Expand Down
10 changes: 5 additions & 5 deletions releases/release-5.3.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ TiDB 版本:5.3.0
| :---------- | :----------- | :----------- |
| [tidb_enable_noop_functions](/system-variables.md#tidb_enable_noop_functions-从-v40-版本开始引入) | 修改 | 由于 TiDB v5.3.0 支持临时表,此变量的控制范围不再包括 `CREATE TEMPORARY TABLE``DROP TEMPORARY TABLE` 行为。 |
| [`tidb_enable_pseudo_for_outdated_stats`](/system-variables.md#tidb_enable_pseudo_for_outdated_stats-从-v530-版本开始引入) | 新增 | 此变量用于控制优化器在一张表上的统计信息过期时的行为。默认值为 `ON`,当表数据被修改的行数大于该表总行数的 80% (该比例可通过 [`pseudo-estimate-ratio`](/tidb-configuration-file.md#pseudo-estimate-ratio) 配置项调整) 时,优化器认为该表上除总行数以外的统计信息不再可靠,转而使用 pseudo 统计信息。将该变量值设为 `OFF` 后,即使统计信息过期,优化器也仍会使用该表上的统计信息。|
|[`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v53-版本开始引入) | 新增 | 此变量用于开启或关闭 TSO Follower Proxy 特性。默认值为 `OFF`,代表关闭 TSO Follower Proxy 特性。此时,TiDB 仅会从 PD leader 获取 TSO。当开启该特性之后,TiDB 在获取 TSO 时会将请求均匀地发送到所有 PD 节点上,通过 PD follower 转发 TSO 请求,从而降低 PD leader 的 CPU 压力。 |
|[`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v53-版本开始引入) | 新增 | 此变量用于设置 TiDB 向 PD 请求 TSO 时进行一次攒批操作的最大等待时长。默认值为 `0`,即不进行额外的等待。 |
|[`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) | 新增 | 此变量用于开启或关闭 TSO Follower Proxy 特性。默认值为 `OFF`,代表关闭 TSO Follower Proxy 特性。此时,TiDB 仅会从 PD leader 获取 TSO。当开启该特性之后,TiDB 在获取 TSO 时会将请求均匀地发送到所有 PD 节点上,通过 PD follower 转发 TSO 请求,从而降低 PD leader 的 CPU 压力。 |
|[`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v530-版本开始引入) | 新增 | 此变量用于设置 TiDB 向 PD 请求 TSO 时进行一次攒批操作的最大等待时长。默认值为 `0`,即不进行额外的等待。 |
| [tidb_tmp_table_max_size](/system-variables.md#tidb_tmp_table_max_size-从-v53-版本开始引入) | 新增 | 此变量用于限制单个[临时表](/temporary-tables.md)的最大大小,临时表超出该大小后报错。 |

### 配置文件参数
Expand Down Expand Up @@ -133,19 +133,19 @@ TiDB 版本:5.3.0

优化 TiDB 时间戳处理流程,支持通过开启 PD Follower Proxy 和调整 PD client 批量请求 TSO 时所需的 batch 等待时间的方式来降低 PD leader 时间戳处理负载,提升系统整体可扩展性。

- 支持通过系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v53-版本开始引入) 设置 PD Follower Proxy 功能开关。在 PD 时间戳请求负载过高的情况下,通过开启 PD Follower Proxy,可以将 follower 上请求周期内收集到的 TSO request 批量转发到 leader 节点,从而有效减少 client 与 leader 的直接交互次数,降低 leader 的负载,提升 TiDB 整体性能。
- 支持通过系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 设置 PD Follower Proxy 功能开关。在 PD 时间戳请求负载过高的情况下,通过开启 PD Follower Proxy,可以将 follower 上请求周期内收集到的 TSO request 批量转发到 leader 节点,从而有效减少 client 与 leader 的直接交互次数,降低 leader 的负载,提升 TiDB 整体性能。

> **注意:**
>
> 在 client 数较少、PD leader 负载不高的情况下,不建议开启 PD Follower Proxy 功能。

- 支持通过 [`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v53-版本开始引入) 系统变量设置 PD client 批量请求 TSO 时所需的最大 batch 等待时间,单位为毫秒。在 PD TSO 请求负载过高的情况下,可以通过调大等待时间获得更大的 batch size,从而降低 PD 负载,提升吞吐。
- 支持通过 [`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v530-版本开始引入) 系统变量设置 PD client 批量请求 TSO 时所需的最大 batch 等待时间,单位为毫秒。在 PD TSO 请求负载过高的情况下,可以通过调大等待时间获得更大的 batch size,从而降低 PD 负载,提升吞吐。

> **注意:**
>
> 在 TSO 请求负载不高的情况下,不建议调整该参数。
[用户文档](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v53-版本开始引入)[#3149](https://github.com/tikv/pd/issues/3149)
[用户文档](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v530-版本开始引入)[#3149](https://github.com/tikv/pd/issues/3149)

### 稳定性

Expand Down
4 changes: 3 additions & 1 deletion sql-statements/sql-statement-select.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,9 @@ SELECT * FROM t1;

## MySQL 兼容性

`SELECT` 语句与 MySQL 完全兼容。如发现任何兼容性差异,请在 GitHub 上提交 [issue](https://github.com/pingcap/tidb/issues/new/choose)
- 不支持 `SELECT ... INTO @variable` 语法。
- 不支持 `SELECT ... GROUP BY ... WITH ROLLUP` 语法。
- 不支持 MySQL 5.7 中支持的 `SELECT .. GROUP BY expr` 语法,而是匹配 MySQL 8.0 的行为,不按照默认的顺序进行排序。

## 另请参阅

Expand Down
11 changes: 6 additions & 5 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -784,14 +784,14 @@ Query OK, 0 rows affected (0.09 sec)
- 默认值:`OFF`
- 这个变量用控制是否开启 [Top SQL 特性](/dashboard/top-sql.md)。
### `tidb_enable_tso_follower_proxy` <span class="version-mark">从 v5.3 版本开始引入</span>
### `tidb_enable_tso_follower_proxy` <span class="version-mark">从 v5.3.0 版本开始引入</span>
- 作用域:GLOBAL
- 默认值:`OFF`
- 这个变量用来开启 TSO Follower Proxy 特性。当该值为 `OFF` 时,TiDB 仅会从 PD leader 获取 TSO。开启该特性之后,TiDB 在获取 TSO 时会将请求均匀地发送到所有 PD 节点上,通过 PD follower 转发 TSO 请求,从而降低 PD leader 的 CPU 压力。
- 适合开启 TSO Follower Proxy 的场景:
* PD leader 因高压力的 TSO 请求而达到 CPU 瓶颈,导致 TSO RPC 请求的延迟较高。
* 集群中的 TiDB 实例数量较多,且调高 [`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v53-版本开始引入) 并不能缓解 TSO RPC 请求延迟高的问题。
* 集群中的 TiDB 实例数量较多,且调高 [`tidb_tso_client_batch_max_wait_time`](/system-variables.md#tidb_tso_client_batch_max_wait_time-从-v530-版本开始引入) 并不能缓解 TSO RPC 请求延迟高的问题。
> **注意:**
>
Expand Down Expand Up @@ -1058,10 +1058,11 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
- 默认值:`tikv,tiflash,tidb`
- 这个变量用于设置 TiDB 在读取数据时可以使用的存储引擎列表。
### `tidb_log_file_max_days` <span class="version-mark">从 v5.3 版本开始引入</span>
### `tidb_log_file_max_days` <span class="version-mark">从 v5.3.0 版本开始引入</span>
- 作用域:SESSION
- 默认值:`0`
- 范围:`[0, 2147483647]`
- 这个变量可以调整当前 TiDB 实例上日志的最大保留天数。默认值是实例配置文件中指定的值,见配置项 [`max-days`](/tidb-configuration-file.md#max-days)。此变量只影响当前 TiDB 实例上的配置,重启后丢失,且配置文件不受影响。
### `tidb_low_resolution_tso`
Expand Down Expand Up @@ -1593,7 +1594,7 @@ set tidb_slow_log_threshold = 200;
- 单位:字节
- 这个变量用于限制单个[临时表](/temporary-tables.md)的最大大小,临时表超出该大小后报错。
### `tidb_tso_client_batch_max_wait_time` <span class="version-mark">从 v5.3 版本开始引入</span>
### `tidb_tso_client_batch_max_wait_time` <span class="version-mark">从 v5.3.0 版本开始引入</span>
- 作用域:GLOBAL
- 默认值:`0`
Expand Down Expand Up @@ -1702,7 +1703,7 @@ set tidb_slow_log_threshold = 200;
- 默认值:(string)
- 这个变量值是 TiDB 所在操作系统的名称。
### `version_compile_machine`
### `version_compile_machine`
- 作用域:NONE
- 默认值:(string)
Expand Down

0 comments on commit 3055416

Please sign in to comment.