From 054de989f20d6dd7f2b66fb5e423d9ca698c2fc6 Mon Sep 17 00:00:00 2001 From: xuyifan <675434007@qq.com> Date: Thu, 26 Aug 2021 13:03:50 +0800 Subject: [PATCH 1/3] tiny fix --- choose-index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/choose-index.md b/choose-index.md index 928cf49c9e5d..852b5a07df9b 100644 --- a/choose-index.md +++ b/choose-index.md @@ -38,7 +38,7 @@ TiDB 采用如下的启发式前置规则来选择索引: + 规则 1:如果存在索引满足“唯一性索引全匹配 + 不需要回表(即该索引生成的计划是 IndexReader)”时,直接选择该索引。 -+ 规则 2:如果存在索引满足“唯一性索引 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 ++ 规则 2:如果存在索引满足“唯一性索引全匹配 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 + 规则 3:如果存在索引满足“普通索引不需要回表 + 读取行数小于一定阈值”时,选择满足该条件且读取行数最小的索引作为候选索引。 @@ -46,7 +46,7 @@ TiDB 采用如下的启发式前置规则来选择索引: 上述规则中的“索引全匹配”指每个索引列上均存在等值条件。在执行 `EXPLAIN FORMAT = 'verbose' ...` 语句时,如果前置规则匹配了某一索引,TiDB 会输出一条 NOTE 级别的 warning 提示该索引匹配了前置规则。 -在以下示例中,因为索引 `idx_b` 满足规则 2 中“唯一性索引 + 需要回表”的条件,TiDB 选择索引 `idx_b` 作为访问路径,`SHOW WARNING` 返回了索引 `idx_b` 命中前置规则的提示。 +在以下示例中,因为索引 `idx_b` 满足规则 2 中“唯一性索引全匹配 + 需要回表”的条件,TiDB 选择索引 `idx_b` 作为访问路径,`SHOW WARNING` 返回了索引 `idx_b` 命中前置规则的提示。 ```sql mysql> CREATE TABLE t(a INT PRIMARY KEY, b INT, c INT, UNIQUE INDEX idx_b(b)); From 548cabfaa8051468cdeb2c709a3ef43814980375 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 26 Aug 2021 13:56:34 +0800 Subject: [PATCH 2/3] trigger CI --- choose-index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/choose-index.md b/choose-index.md index 852b5a07df9b..f8fb68c1e511 100644 --- a/choose-index.md +++ b/choose-index.md @@ -38,7 +38,7 @@ TiDB 采用如下的启发式前置规则来选择索引: + 规则 1:如果存在索引满足“唯一性索引全匹配 + 不需要回表(即该索引生成的计划是 IndexReader)”时,直接选择该索引。 -+ 规则 2:如果存在索引满足“唯一性索引全匹配 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 ++ 规则 2:如果存在索引满足“唯一性索引全匹配 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 + 规则 3:如果存在索引满足“普通索引不需要回表 + 读取行数小于一定阈值”时,选择满足该条件且读取行数最小的索引作为候选索引。 From 8fee10c8dcfa3266cb749d41b3dc8049b40a2bd2 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 26 Aug 2021 13:57:00 +0800 Subject: [PATCH 3/3] Update choose-index.md --- choose-index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/choose-index.md b/choose-index.md index f8fb68c1e511..852b5a07df9b 100644 --- a/choose-index.md +++ b/choose-index.md @@ -38,7 +38,7 @@ TiDB 采用如下的启发式前置规则来选择索引: + 规则 1:如果存在索引满足“唯一性索引全匹配 + 不需要回表(即该索引生成的计划是 IndexReader)”时,直接选择该索引。 -+ 规则 2:如果存在索引满足“唯一性索引全匹配 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 ++ 规则 2:如果存在索引满足“唯一性索引全匹配 + 需要回表(即该索引生成的计划是 IndexLookupReader)”时,选择满足该条件且回表行数最小的索引作为候选索引。 + 规则 3:如果存在索引满足“普通索引不需要回表 + 读取行数小于一定阈值”时,选择满足该条件且读取行数最小的索引作为候选索引。