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

faq, sql: update wording and add a new parameter #920

Merged
merged 5 commits into from
Oct 17, 2018
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
2 changes: 1 addition & 1 deletion FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ TiDB 在执行 SQL 时,预估出来每个 operator 处理了超过 10000 条

#### 3.3.10 在 TiDB 中如何控制或改变 SQL 提交的执行优先级?

TiDB 中高优先级和低优先级的语法元素如下
TiDB 支持改变 [per-session](sql/tidb-specific.md#tidb_force_priority)、[全局](sql/server-command-option.md#force-priority)或[单个语句](sql/dml.md)的优先级。优先级包括

- HIGH_PRIORITY:该语句为高优先级语句,TiDB 在执行阶段会优先处理这条语句
- LOW_PRIORITY:该语句为低优先级语句,TiDB 在执行阶段会降低这条语句的优先级
Expand Down
7 changes: 7 additions & 0 deletions sql/server-command-option.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,13 @@ TiDB 接受许多的启动参数,执行这个命令可以得到一个简要的
+ 默认: true
+ 在做 join 的时候,两边表没有任何条件(where 字段),默认可以执行这样的语句。但是设置为 false,则如有这样的 join 语句出现,server 会拒绝执行

### force-priority

- 语句的默认优先级
- 默认: `NO_PRIORITY`
- TiDB 支持的语句优先级包括:`NO_PRIORITY`、`LOW_PRIORITY`、`DELAYED` 以及 `HIGH_PRIORITY`。例如,如果你需要为 OLAP 查询指定专属服务器池,可将该值设置为 `LOW_PRIORITY`,以保证 TiKV 服务器优先处理其他 TiDB 服务器池收到的 OLTP 请求。这样可以使 OLTP 性能更稳定,但 OLAP 性能可能会稍有下降
- TiDB 自动将 table scan 设置为 `LOW_PRIORITY`,通过将 [DML modifier](dml.md) 设置为 `HIGH PRIORITY` 或 `LOW PRIORITY`,可重写一条语句的优先级

### join-concurrency

+ join-concurrency 并发执行 join 的 goroutine 数量
Expand Down
10 changes: 10 additions & 0 deletions sql/tidb-specific.md
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,16 @@ TiDB 在 MySQL 的基础上,定义了一些专用的系统变量和语法用

这个变量用来设置 `ADD INDEX` 操作 re-organize 阶段的执行优先级,可设置为 PRIORITY_LOW/PRIORITY_NORMAL/PRIORITY_HIGH。

### tidb_force_priority

作用域:SESSION

默认值:`NO_PRIORITY`

这个变量用于改变 TiDB server 上执行的语句的默认优先级。例如,你可以通过设置该变量来确保正在执行 OLAP 查询的用户优先级低于正在执行 OLTP 查询的用户。

可设置为 `NO_PRIORITY`、`LOW_PRIORITY`、`DELAYED` 或 `HIGH_PRIORITY`。

## Optimizer Hint

TiDB 在 MySQL 的 Optimizer Hint 语法上,增加了一些 TiDB 专有的 Hint 语法, 使用这些 Hint 的时候,TiDB 优化器会尽量使用指定的算法,在某些场景下会比默认算法更优。
Expand Down