TiDB 5.0 RC Release Notes主要包含以下内容:
聚簇索引支持:
- 开启后,TiDB在特定条件下性能显著提升,如TPCC tpmC性能提升39%。
- 聚簇索引定义数据物理存储顺序,仅适用于主键为多个列或单列非整数类型的情况。
- 通过tidb_enable_clustered_index变量开启,仅在新表创建时生效。
不可见索引支持:
- DBA可通过SQL语句设置索引为Visible或Invisible,避免DROP INDEX或ADD INDEX等高资源消耗操作。
- 通过ALTER INDEX语句修改索引可见性,优化器据此决定是否将索引加入索引列表。
EXCEPT/INTERSECT操作符:
- INTERSECT操作符返回多个查询结果集的交集,可替代INNER JOIN操作。
- EXCEPT操作符返回第一个查询中存在但第二个查询中不存在的结果集。
事务提升:
- 在悲观事务模式下,系统自动更新事务SCHEMA VERSION,确保事务提交成功,避免中断。
- 事务中断时,客户端将收到“Information schema is changed”的错误信息。
字符集和排序规则:
- utf8mb4_unicode_ci和utf8_unicode_ci排序规则和字符集比较排序时不区分大小写。
安全错误信息和日志信息脱敏:
- 系统对敏感信息进行脱敏处理,避免敏感信息泄露,保护用户数据安全。
异步提交事务:
- 开启后显著降低延迟,如Sysbench oltpinsert测试中延迟降低37.3%。
- 需通过修改tidb_guarantee_external_consistency = ON变量后开启,但可能导致事务外部一致性下降。
提升优化器选择索引稳定性:
- 通过优化统计信息模块,确保SQL语句在相同条件下稳定选择最佳索引。
性能抖动优化:
- 优化调度功能和I/O限流,降低资源抢占导致的性能抖动。
- 在72小时长期测试中,Sysbench TPS抖动标准差显著降低。
高可用与容灾提升:
- 引入Raft Joint Consensus算法,提高Region成员变更时的可用性。
数据导入与导出问题诊断:
- 优化EXPLAIN功能,收集更多信息,帮助DBA准确判断性能问题原因。
部署与运维: