Skip to content

Commit

Permalink
character-set-and-collation: support use LIKE to build range for ne…
Browse files Browse the repository at this point in the history
…w collation columns (#17171)
  • Loading branch information
time-and-fate authored Apr 29, 2024
1 parent 5388452 commit 812801e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion character-set-and-collation.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ SHOW COLLATION;
>
> TiDB 会错误地将 `latin1` 视为 `utf8` 的子集。当用户存储不同于 `latin1``utf8` 编码的字符时,可能会导致意外情况出现。因此强烈建议使用 `utf8mb4` 字符集。详情参阅 [TiDB #18955](https://github.com/pingcap/tidb/issues/18955)
>
> 如果查询条件中包含对字符串前缀的 `LIKE` 过滤, 比如 `LIKE 'prefix%'`,并且该列被设置为非二进制排序规则(即排序规则的后缀不是以 `_bin` 结尾),那么 TiDB 优化器暂时无法把这个过滤条件转化为范围扫描 (Range Scan),而是用全量扫描代替。因此这类 SQL 有可能造成超出预期的资源消耗。
> 在 TiDB v7.5.0 中,如果查询条件中包含对字符串前缀的 `LIKE` 过滤, 比如 `LIKE 'prefix%'`,并且该列被设置为非二进制排序规则(即排序规则的后缀不是以 `_bin` 结尾),那么 TiDB 优化器暂时无法把这个过滤条件转化为范围扫描 (Range Scan),而是用全量扫描代替。因此这类 SQL 有可能造成超出预期的资源消耗。从 v7.5.1 开始,TiDB 优化器移除该限制
> **注意:**
>
Expand Down
2 changes: 1 addition & 1 deletion character-set-gbk.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ SHOW COLLATION WHERE CHARSET = 'gbk';

* 对于 `ENUM``SET` 类型中的二进制字符,TiDB 目前都会将其作为 `utf8mb4` 字符集处理。

* 如果查询条件中包含对字符串前缀的 `LIKE` 过滤,比如 `LIKE 'prefix%'`,并且该列被设置为 GBK 的排序规则(`gbk_bin``gbk_chinese_ci`),那么 TiDB 优化器暂时无法把这个过滤条件转化为范围扫描 (Range Scan),而是用全量扫描代替。因此这类 SQL 有可能造成超出预期的资源消耗。
* 在 TiDB v7.5.0 中,如果查询条件中包含对字符串前缀的 `LIKE` 过滤,比如 `LIKE 'prefix%'`,并且该列被设置为 GBK 的排序规则(`gbk_bin``gbk_chinese_ci`),那么 TiDB 优化器暂时无法把这个过滤条件转化为范围扫描 (Range Scan),而是用全量扫描代替。因此这类 SQL 有可能造成超出预期的资源消耗。从 v7.5.1 开始,TiDB 优化器移除该限制

## 组件兼容性

Expand Down

0 comments on commit 812801e

Please sign in to comment.