1. 使用 EXPLAIN 来优化 SQL 语句
EXPLAIN 语句的返回结果提供了 TiDB 执行 SQL 查询的详细信息:
-
EXPLAIN 可以和 SELECT, DELETE, INSERT, REPLACE, 以及 UPDATE 语句一起使用;
-
执行 EXPLAIN,TiDB 会返回被 EXPLAIN 的 SQL 语句经过优化器后的最终物理执行计划。也就是说,EXPLAIN 展示了 TiDB 执行该 SQL 语句的完整信息,比如以什么样的顺序,什么方式 JOIN 两个表,表达式树长什么样等等。详细请看 EXPLAIN 输出格式;
-
TiDB 目前还不支持 EXPLAIN [options] FOR CONNECTION connection_id,我们将在未来支持它,详细请看:#4351;
通过观察 EXPLAIN 的结果,你可以知道如何给数据表添加索引使得执行计划使用索引从而加速 SQL 语句的执行速度;你也可以使用 EXPLAIN 来检查优化器是否选择了最优的顺序来 JOIN 数据表。
2. EXPLAIN 输出格式
目前 TiDB 的 EXPLAIN 会输出 6 列,分别是:id,parents,children,task,operator info 和 count,执行计划中每个 operator 都由这 6 列属性来描述,EXPLAIN 结果中每一行描述一个 operator。
3.概述
3.1Task 简介
目前 TiDB 的计算任务隶属于两种不同的