Skip to content

Commit 70e42d9

Browse files
authored
statistics: Add more variables that control auto analyze (#20167)
1 parent 1324100 commit 70e42d9

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

statistics.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@ TiDB 根据表的变更次数自动调度 [`ANALYZE`](/sql-statements/sql-statem
2222

2323
| 系统变量名 | 默认值 | 功能描述 |
2424
| --------- | ----- | --------- |
25+
| [`tidb_auto_analyze_concurrency`](/system-variables.md#tidb_auto_analyze_concurrency-从-v840-版本开始引入) | `1` | TiDB 集群中自动更新统计信息操作的并发度 |
2526
| [`tidb_auto_analyze_end_time`](/system-variables.md#tidb_auto_analyze_end_time) | `23:59 +0000` | 一天中允许统计信息自动更新的结束时间 |
27+
| [`tidb_auto_analyze_partition_batch_size`](/system-variables.md#tidb_auto_analyze_partition_batch_size-从-v640-版本开始引入) | `8192` | TiDB 自动 ANALYZE 分区表(即自动更新分区表的统计信息)时,每次同时 ANALYZE 分区的个数 |
2628
| [`tidb_auto_analyze_ratio`](/system-variables.md#tidb_auto_analyze_ratio) | `0.5` | 自动更新阈值 |
2729
| [`tidb_auto_analyze_start_time`](/system-variables.md#tidb_auto_analyze_start_time) | `00:00 +0000` | 一天中允许统计信息自动更新的开始时间 |
28-
| [`tidb_auto_analyze_partition_batch_size`](/system-variables.md#tidb_auto_analyze_partition_batch_size-从-v640-版本开始引入) | `128` | TiDB 自动 analyze 分区表(即自动更新分区表的统计信息)时,每次同时 analyze 分区的个数 |
2930
| [`tidb_enable_auto_analyze`](/system-variables.md#tidb_enable_auto_analyze-从-v610-版本开始引入) | `ON` | 是否启用自动更新表的统计信息 |
3031
| [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) | `ON` | 是否启用优先队列来调度自动收集统计信息的任务。开启该变量后,TiDB 会优先收集那些更有收集价值的表,例如新创建的索引、发生分区变更的分区表等。同时,TiDB 也会优先处理那些健康度较低的表,将它们安排在队列的前端。 |
3132
| [`tidb_enable_stats_owner`](/system-variables.md#tidb_enable_stats_owner-从-v840-版本开始引入) | `ON` | 用于设置该 TiDB 实例是否可以运行统计信息自动更新任务 |
33+
| [`tidb_max_auto_analyze_time`](/system-variables.md#tidb_max_auto_analyze_time-从-v610-版本开始引入) | `43200`,即 12 小时 | 自动 ANALYZE 任务的最长执行时间,单位为秒 |
3234

3335
当某个表 `tbl` 的修改行数与总行数的比值大于 `tidb_auto_analyze_ratio`,并且当前时间在 `tidb_auto_analyze_start_time``tidb_auto_analyze_end_time` 之间时,TiDB 会在后台执行 `ANALYZE TABLE tbl` 语句自动更新这个表的统计信息。
3436

system-variables.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3192,7 +3192,7 @@ v5.0 后,用户仍可以单独修改以上系统变量(会有废弃警告)
31923192
- 是否持久化到集群:是
31933193
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:否
31943194
- 类型:整数型
3195-
- 默认值:`43200`
3195+
- 默认值:`43200`,即 12 小时
31963196
- 范围:`[0, 2147483647]`
31973197
- 单位:秒
31983198
- 这个变量用于指定自动 ANALYZE 的最大执行时间。当执行时间超出指定的时间时,自动 ANALYZE 会被终止。当该变量值为 0 时,自动 ANALYZE 没有最大执行时间的限制。

0 commit comments

Comments
 (0)