TiDB 2.1.18 Release Notes
- SQL 优化器
- 修复 Feedback 切分查询范围出错的问题
- 修复点查中权限检查不正确的问题 #12341
- 将 Limit 算子下推到 执行逻辑中,优化
select ... limit ... offset ...
的执行性能 - 支持在
ORDER BY
、GROUP BY
和LIMIT OFFSET
中使用参数 #12514 - 修复 partition 表上的 IndexJoin 返回错误结果的问题
- 修复 TiDB 中
str_to_date
函数在日期字符串和格式化字符串不匹配的情况下,返回结果与 MySQL 不一致的问题 #12757 - 修复当查询条件中包含 cast 函数时 outer join 被错误转化为 inner join 的问题
- 修复 AntiSemiJoin 的 join 条件中错误的表达式传递 #12800
- SQL 执行引擎
- Server
- 修复 语法对
SLEEP()
语句无效的问题 - 修复 AUTO INCREMENT 分配 MAX int64 和 MAX uint64 没有报错的问题 #12210
- 修复日志级别设置为
ERROR
时,慢日志不会被记录的问题 - 将缓存 100 个 Schema 变更相关的表信息调整成 1024 个,且支持通过
tidb_max_delta_schema_count
系统变量修改 #12515 - 将 SQL 的统计方式开始时间由“开始执行”改为“开始编译”,使得 SQL 性能统计更加准确
- 在 TiDB 日志中添加
set session autocommit
的记录 #12568 - 将 SQL 的开始时间记录在
SessionVars
中,避免计划执行时,该时间被重置 - 在
Order By
/Group By
/Limit Offset
字句中支持?
占位符 #12514 - 慢日志中添加
Prev_stmt
字段,用于最后一条语句是COMMIT
时输出前一条语句 - 当一个显式提交的事务 时出错,在日志中记录
COMMIT
前一条语句 #12747 - 优化在 TiDB Server 执行 SQL 时,对前一条语句的保存方式以提升性能
- 修复
skip-grant-table=true
时,FLUSH PRIVILEGES
语句导致系统 Panic 的问题 #12816 - 将 AutoID 的最小申请步长从 1000 增加为 30000,避免短时间大量写入时频繁请求 AutoID 造成性能瓶颈
- 修复 Prepared 语句在 TiDB 发生 panic 时错误日志中未打印出错 SQL 的问题 #12954
- 修复 COM_STMT_FETCH 慢日志时间记录和 MySQL 不一致问题
- 修复 语法对
- DDL
- Monitor
- Backoff 监控添加类型,且补充之前没有统计到的 Backoff,比如 commit 时遇到的 Backoff
- 添加统计 Add Index 操作进度的监控 #12389
- 修复 pd-ctl
--help
命令输出内容 #1772
- TiDB Binlog