- aliases: [‘/docs-cn/releases/3.0.0-rc.2/‘]
- TiDB 3.0.0-rc.2 Release Notes
- Overview
- TiDB
- PD
- TiKV
- Tools
title: TiDB 3.0.0-rc.2 Release Notescategory: Releases
aliases: [‘/docs-cn/releases/3.0.0-rc.2/‘]
TiDB 3.0.0-rc.2 Release Notes
发版日期:2019 年 5 月 28 日
TiDB 版本:3.0.0-rc.2
TiDB Ansible 版本:3.0.0-rc.2
Overview
2019 年 5 月 28 日,TiDB 发布 3.0.0-rc.2 版本,对应的 TiDB Ansible 版本为 3.0.0-rc.2。相比 3.0.0-rc.1 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。
TiDB
SQL 优化器
- 在更多的场景中支持 Index Join #10540
- 支持导出历史统计信息 #10291
- 支持对单调递增的索引列增量
Analyze
#10355 - 忽略
Order By
子句中的 NULL 值 #10488 - 修复精简列信息时逻辑算子
UnionAll
的 Schema 信息的计算不正确的问题 #10384 - 下推
Not
操作符时避免修改原表达式 #10363 - 支持导入导出列的关联性信息 #10573
执行引擎
- 有唯一索引的虚拟生成列可以在
replace on duplicate key update
/insert on duplicate key update
语句中被正确地处理 #10370 - 修复 CHAR 列上的扫描范围计算 #10124
- 修复
PointGet
处理负数不正确问题 #10113 - 合并具有相同窗口名的窗口函数,提高执行效率 #9866
- 窗口函数中 Range Frame 可以无需
Order By
子句 #10496
- 有唯一索引的虚拟生成列可以在
Server
- 修复 TiKV 故障时,TiDB 不断创建与 TiKV 的新连接的问题 #10301
tidb_disable_txn_auto_retry
不再只影响写入冲突错误,而是影响所有的可重试错误 #10339- 不带参数的 DDL 语句可以通过
prepare
/execute
来执行 #10144 - 新增
tidb_back_off_weight
变量,控制 TiDB 内部 back off 时间的长短 #10266 tidb_disable_txn_auto_retry
的默认值改为 on,即默认情况下,TiDB 不会重试非自动提交的事务 #10266- 修复 RBAC 中对 role 的数据库权限的判断不正确的问题 #10261
- 支持悲观事务模型(实验性)#10297
- 降低某些情况下处理锁冲突时的等待时间 #10006
- 重构 Region cache,增加在 Region 故障时的轮询逻辑 #10256
- 新增
tidb_low_resolution_tso
变量,控制批量获取tso
个数,减少事务获取tso
的次数,以适应某些数据一致性要求较低的场景 #10428
DDL
- 修复旧版本的 TiDB 存储的字符集名称大写的问题 #10272
- 支持 table partition 预分裂 Region 功能,该选项可以在建表时预先分配 table Region,避免建表后大量写入造成的写热点 #10221
- 修复某些情况下 TiDB 更新版本信息到 PD 不准确的问题 #10324
- 支持通过
alter schema
语句修改数据库 charset 和 collation #10393 - 支持通过语句按指定表的索引及范围分裂 Region,用于缓解热点问题 #10203
- 禁止
alter table
语句修改decimal
列的精度 #10433 - 修复 hash partition 中对表达式和函数的约束 #10273
- 修复某些情况下对含有 partition 的 table 添加索引时引发 TiDB panic 的问题 #10475
- 添加对某些极端情况下导致 schema 出错的防护功能 #10464
- 创建 range partition 若有单列或者创建 hash partition 时默认开启分区功能 #9936
PD
- 默认开启 Region storage 将 Region 元信息存储到 Region storage 中 #1524
- 修复热点调度受其他调度器抢占的问题 #1522
- 修复 Leader 优先级不生效的问题 #1533
- 新增
ScanRegions
的 gRPC 接口 #1535 - 主动下发 operator 加快调度速度 #1536
- 添加 store limit 机制,限制单个 store 的调度速度 #1474
- 修复
config
状态不一致的问题 #1476
TiKV
- Engine
- 支持多个 column family 共享 block cache #4563
- Server
- 移除 txn scheduler #4098
- 支持悲观锁事务 #4698
- Raftstore
- 新增 hibernate Regions 特性,减少 raftstore CPU 的消耗 #4591
- 移除 local reader 线程 #4558
- 修复 Leader 不回复 Learner
ReadIndex
请求的问题 #4653 - 修复在某些情况下 transfer leader 失败的问题 #4684
- 修复在某些情况下可能发生的脏读问题 #4688
- 修复在某些情况下 snapshot 少包含数据的问题 #4716
- Coprocessor
- 新增更多的 RPN 函数
LogicalOr
#4691LTReal
#4602LEReal
#4602GTReal
#4602GEReal
#4602NEReal
#4602EQReal
#4602IsNull
#4720IsTrue
#4720IsFalse
#4720- 支持
Int
比较运算 #4625 - 支持
Decimal
比较运算 #4625 - 支持
String
比较运算 #4625 - 支持
Time
比较运算 #4625 - 支持
Duration
比较运算 #4625 - 支持
Json
比较运算 #4625 - 支持
Int
加法运算 #4733 - 支持
Real
加法运算 #4733 - 支持
Decimal
加法运算 #4733 - 支持
Int
求余函数 #4727 - 支持
Real
求余函数 #4727 - 支持
Decimal
求余函数 #4727 - 支持
Int
减法运算 #4746 - 支持
Real
减法运算 #4746 - 支持
Decimal
减法运算 #4746
- 新增更多的 RPN 函数
Tools
TiDB Binlog
- Drainer 增加下游同步延迟监控项
checkpoint_delay
#594
- Drainer 增加下游同步延迟监控项
TiDB Lightning
- 支持数据库合并,数据表合并同步功能 #95
- 新增 KV 写入失败重试机制 #176
- 配置项
table-concurrency
默认值修改为 6 #175 - 减少必要的配置项,
tidb.port
和tidb..pd-addr
支持自动获取 #173