From 08f83eaf0e58893acb07ff6f7f26abf2965a2195 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 8 Nov 2023 15:24:50 +0800 Subject: [PATCH 1/5] Add temp.md --- temp.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 temp.md diff --git a/temp.md b/temp.md new file mode 100644 index 000000000000..af27ff4986a7 --- /dev/null +++ b/temp.md @@ -0,0 +1 @@ +This is a test file. \ No newline at end of file From 36336f580b9803c92fa659ed392b6cf0a57e6726 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 8 Nov 2023 15:24:55 +0800 Subject: [PATCH 2/5] Delete temp.md --- temp.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 temp.md diff --git a/temp.md b/temp.md deleted file mode 100644 index af27ff4986a7..000000000000 --- a/temp.md +++ /dev/null @@ -1 +0,0 @@ -This is a test file. \ No newline at end of file From adca8863eb05ebc498238e405dbe4504ccd819a0 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 8 Nov 2023 15:30:14 +0800 Subject: [PATCH 3/5] sync from en changes --- correlated-subquery-optimization.md | 2 +- explain-subqueries.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/correlated-subquery-optimization.md b/correlated-subquery-optimization.md index cb64cb596198..650b79452480 100644 --- a/correlated-subquery-optimization.md +++ b/correlated-subquery-optimization.md @@ -100,4 +100,4 @@ explain select * from t1 where t1.a < (select sum(t2.a) from t2 where t2.b = t1. +------------------------------------------+-----------+-----------+------------------------+--------------------------------------------------------------------------------------+ ``` -在执行了关闭关联规则的语句后,可以在 `IndexRangeScan_25(Build)` 的 `operator info` 中看到 `range: decided by [eq(test.t2.b, test.t1.b)]`。这部分信息就是关联依赖未被解除时,TiDB 使用关联条件进行索引范围查询的显示结果。 +在执行了关闭关联规则的语句后,可以在 `IndexRangeScan_42(Build)` 的 `operator info` 中看到 `range: decided by [eq(test.t2.b, test.t1.b)]`。这部分信息就是关联依赖未被解除时,TiDB 使用关联条件进行索引范围查询的显示结果。 diff --git a/explain-subqueries.md b/explain-subqueries.md index ca8e32d64181..2620af61d1d1 100644 --- a/explain-subqueries.md +++ b/explain-subqueries.md @@ -68,7 +68,7 @@ EXPLAIN SELECT * FROM t1 WHERE id IN (SELECT t1_id FROM t2); ``` -由上述查询结果可知,TiDB 通过索引连接操作 `| IndexJoin_14` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_31` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_39` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_49(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 +由上述查询结果可知,TiDB 通过索引连接操作 `| IndexJoin_14` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_26` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_34` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_44(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 ## Inner join(有 `UNIQUE` 约束的子查询) From 13dac16079818f86e5274c4a8e414fcf1caa269f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 8 Nov 2023 16:04:58 +0800 Subject: [PATCH 4/5] Update explain-subqueries.md --- explain-subqueries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/explain-subqueries.md b/explain-subqueries.md index 2620af61d1d1..b54bf0b5d540 100644 --- a/explain-subqueries.md +++ b/explain-subqueries.md @@ -68,7 +68,7 @@ EXPLAIN SELECT * FROM t1 WHERE id IN (SELECT t1_id FROM t2); ``` -由上述查询结果可知,TiDB 通过索引连接操作 `| IndexJoin_14` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_26` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_34` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_44(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 +由上述查询结果可知,TiDB 通过索引连接操作 `| IndexJoin_15` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_26` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_34` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_44(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 ## Inner join(有 `UNIQUE` 约束的子查询) From 250ee2cbacff09c7e3962b51fc87e5b02102fb72 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 8 Nov 2023 16:10:36 +0800 Subject: [PATCH 5/5] Update explain-subqueries.md --- explain-subqueries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/explain-subqueries.md b/explain-subqueries.md index b54bf0b5d540..74b1a97f9257 100644 --- a/explain-subqueries.md +++ b/explain-subqueries.md @@ -68,7 +68,7 @@ EXPLAIN SELECT * FROM t1 WHERE id IN (SELECT t1_id FROM t2); ``` -由上述查询结果可知,TiDB 通过索引连接操作 `| IndexJoin_15` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_26` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_34` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_44(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 +由上述查询结果可知,TiDB 通过索引连接操作 `IndexJoin_15` 将子查询做了连接转化。该执行计划首先在 TiKV 侧通过索引扫描算子 `└─IndexFullScan_26` 读取 `t2.t1_id` 列的值,然后由 `└─StreamAgg_34` 算子的部分任务在 TiKV 中对 `t1_id` 值进行去重,然后采用 `├─StreamAgg_44(Build)` 算子的部分任务在 TiDB 中对 `t1_id` 值再次进行去重,去重操作由聚合函数 `firstrow(test.t2.t1_id)` 执行;之后将操作结果与 `t1` 表的主键相连接,连接条件是 `eq(test.t1.id, test.t2.t1_id)`。 ## Inner join(有 `UNIQUE` 约束的子查询)