TiDB 3.0.0-rc.2 Release Notes
TiDB 版本:3.0.0-rc.2
TiDB Ansible 版本:3.0.0-rc.2
SQL 优化器
- 在更多的场景中支持 Index Join
- 支持导出历史统计信息 #10291
- 支持对单调递增的索引列增量
- 忽略
Order By
子句中的 NULL 值 #10488 - 修复精简列信息时逻辑算子
UnionAll
的 Schema 信息的计算不正确的问题 - 下推
Not
操作符时避免修改原表达式 #10363 - 支持导入导出列的关联性信息
执行引擎
- 有唯一索引的虚拟生成列可以在
replace on duplicate key update
/insert on duplicate key update
语句中被正确地处理 #10370 - 修复 CHAR 列上的扫描范围计算
- 修复
PointGet
处理负数不正确问题 #10113 - 合并具有相同窗口名的窗口函数,提高执行效率
- 窗口函数中 Range Frame 可以无需
Order By
子句 #10496
-
- 修复 TiKV 故障时,TiDB 不断创建与 TiKV 的新连接的问题
tidb_disable_txn_auto_retry
不再只影响写入冲突错误,而是影响所有的可重试错误 #10339- 不带参数的 DDL 语句可以通过
prepare
/execute
来执行 - 新增
tidb_back_off_weight
变量,控制 TiDB 内部 back off 时间的长短 #10266 tidb_disable_txn_auto_retry
的默认值改为 on,即默认情况下,TiDB 不会重试非自动提交的事务 - 修复 RBAC 中对 role 的数据库权限的判断不正确的问题 #10261
- 支持悲观事务模型(实验性)
- 降低某些情况下处理锁冲突时的等待时间 #10006
- 重构 Region cache,增加在 Region 故障时的轮询逻辑
- 新增
tidb_low_resolution_tso
变量,控制批量获取 tso
个数,减少事务获取 tso
的次数,以适应某些数据一致性要求较低的场景 #10428
- 默认开启 Region storage 将 Region 元信息存储到 Region storage 中
- 修复热点调度受其他调度器抢占的问题 #1522
- 修复 Leader 优先级不生效的问题
- 新增
ScanRegions
的 gRPC 接口 #1535 - 主动下发 operator 加快调度速度
- 添加 store limit 机制,限制单个 store 的调度速度 #1474
- 修复
config
状态不一致的问题
- Engine
- 支持多个 column family 共享 block cache #4563
- Server
- 移除 txn scheduler
- 支持悲观锁事务 #4698
- Raftstore
- 新增 hibernate Regions 特性,减少 raftstore CPU 的消耗
- 移除 local reader 线程 #4558
- 修复 Leader 不回复 Learner
ReadIndex
请求的问题 - 修复在某些情况下 transfer leader 失败的问题 #4684
- 修复在某些情况下可能发生的脏读问题
- 修复在某些情况下 snapshot 少包含数据的问题 #4716
- Coprocessor
TiDB Binlog
- Drainer 增加下游同步延迟监控项
checkpoint_delay
-
- 支持数据库合并,数据表合并同步功能 #95
- 新增 KV 写入失败重试机制
- 减少必要的配置项,
tidb.port
和 tidb..pd-addr
支持自动获取 #173