TiDB 功能概览

本文列出了 TiDB 功能在不同版本中的支持变化情况,包括长期支持版本 (LTS) 和最新的 LTS 版本之后的开发里程碑版本 (DMR)

功能概览 - 图1

注意

PingCAP 不提供基于 DMR 版本的 bug 修复版本,如有 bug,会在后续版本中修复。如无特殊需求,建议使用最新 LTS 版本

下表中出现的缩写字母含义如下:

  • Y:已 GA 的功能,可以在生产环境中使用。注意即使某个功能在 DMR 版本中 GA,也建议在后续 LTS 版本中将该功能用于生产环境。
  • N:不支持该功能。
  • E:未 GA 的功能,即实验特性 (experimental),请注意使用场景限制。实验特性会在未事先通知的情况下发生变化或删除。语法和实现可能会在 GA 前发生变化。如果遇到问题,请在 GitHub 上提交 issue 反馈。

数据类型,函数和操作符

数据类型,函数,操作符6.56.15.45.35.25.15.04.0
数值类型YYYYYYYY
日期和时间类型YYYYYYYY
字符串类型YYYYYYYY
JSON 类型YEEEEEEE
控制流程函数YYYYYYYY
字符串函数YYYYYYYY
数值函数与操作符YYYYYYYY
日期和时间函数YYYYYYYY
位函数和操作符YYYYYYYY
Cast 函数和操作符YYYYYYYY
加密和压缩函数YYYYYYYY
信息函数YYYYYYYY
JSON 函数YEEEEEEE
聚合函数YYYYYYYY
窗口函数YYYYYYYY
其他函数YYYYYYYY
操作符YYYYYYYY
字符集和排序规则 1YYYYYYYY
用户级别锁YYNNNNNN

索引和约束

索引和约束6.56.15.45.35.25.15.04.0
表达式索引 2YEEEEEEE
列式存储 (TiFlash)YYYYYYYY
使用 FastScan 加速 OLAP 场景下的查询ENNNNNNN
RocksDB 引擎YYYYYYYY
Titan 插件YYYYYYYY
Titan Level MergeEEEEEEEE
使用 bucket 提高数据扫描并发度EENNNNNN
不可见索引YYYYYYYN
复合主键YYYYYYYY
唯一约束YYYYYYYY
整型主键上的聚簇索引YYYYYYYY
复合或非整型主键上的聚簇索引YYYYYYYN

SQL 语句

SQL 语句 36.56.15.45.35.25.15.04.0
SELECTINSERTUPDATEDELETEREPLACEYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYY
LOAD DATA INFILEYYYYYYYY
SELECT INTO OUTFILEYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYY
UNIONUNION ALLYYYYYYYY
EXCEPT 和 INTERSECT 运算符YYYYYYYN
GROUP BYORDER BYYYYYYYYY
窗口函数YYYYYYYY
公共表表达式 (CTE)YYYYYYNN
START TRANSACTIONCOMMITROLLBACKYYYYYYYY
EXPLAINYYYYYYYY
EXPLAIN ANALYZEYYYYYYYY
用户自定义变量EEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYNNNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYNNNNNNN
ALTER TABLE … COMPACTYENNNNNN
表级锁 (Table Lock)EEEEEEEE
物化列式存储的查询结果ENNNNNNN

高级 SQL 功能

高级 SQL 功能6.56.15.45.35.25.15.04.0
执行计划缓存YYYYEEEE
执行计划管理 (SPM)YYYYYYYY
根据历史执行计划创建绑定ENNNNNNN
下推计算结果缓存 (Coprocessor Cache)YYYYYYYE
Stale ReadYYYYYYNN
Follower ReadYYYYYYYY
通过系统变量 tidb_snapshot 读取历史数据YYYYYYYY
Optimizer hintsYYYYYYYY
MPP 执行引擎YYYYYYYN
索引合并YYYEEEEE
基于 SQL 的数据放置规则YYEENNNN
Cascades PlannerEEEEEEEE

数据定义语言 (DDL)

数据定义语言 (DDL)6.56.15.45.35.25.15.04.0
CREATEDROPALTERRENAMETRUNCATEYYYYYYYY
生成列EEEEEEEE
视图YYYYYYYY
序列YYYYYYYY
AUTO_INCREMENT 列YYYYYYYY
AUTO_RANDOM 列YYYYYYYY
TTL (Time to Live)ENNNNNNN
DDL 算法断言YYYYYYYY
在单条语句中添加多列YEEEEEEE
更改列类型YYYYYYNN
临时表YYYYNNNN
并行 DDLYNNNNNNN
添加索引加速YNNNNNNN
元数据锁YNNNNNNN
FLASHBACK CLUSTER TO TIMESTAMPYNNNNNNN

事务

事务6.56.15.45.35.25.15.04.0
Async commitYYYYYYYN
1PCYYYYYYYN
大事务 (10 GB)YYYYYYYY
悲观事务YYYYYYYY
乐观事务YYYYYYYY
可重复读隔离(快照隔离)YYYYYYYY
读已提交隔离YYYYYYYY

分区

分区6.56.15.45.35.25.15.04.0
Range 分区YYYYYYYY
Hash 分区YYYYYYYY
List 分区YYEEEEEN
List COLUMNS 分区YYEEEEEN
EXCHANGE PARTITIONYEEEEEEN
动态裁剪YYEEEENN
Range COLUMNS 分区YNNNNNNN
Range INTERVAL 分区ENNNNNNN

统计信息

统计信息6.56.15.45.35.25.15.04.0
CM-Sketch默认关闭默认关闭默认关闭默认关闭YYYY
直方图YYYYYYYY
扩展统计信息(多列)EEEEEEEN
统计反馈N已废弃已废弃EEEEE
统计信息自动更新YYYYYYYY
快速分析EEEEEEEE
动态裁剪YYEEEENN
收集部分列的统计信息EEENNNNN
限制统计信息的内存使用量EENNNNNN
随机采样约 10000 行数据来快速构建统计信息EEEEEEEE
锁定统计信息ENNNNNNN

安全

安全6.56.15.45.35.25.15.04.0
传输层加密 (TLS)YYYYYYYY
静态加密 (TDE)YYYYYYYY
基于角色的访问控制 (RBAC)YYYYYYYY
证书鉴权YYYYYYYY
caching_sha2_password 认证YYYYYNNN
tidb_sm3_password 认证YNNNNNNN
tidb_auth_token 认证YNNNNNNN
密码管理YNNNNNNN
与 MySQL 兼容的 GRANT 权限管理YYYYYYYY
动态权限YYYYYYNN
安全增强模式YYYYYYNN
日志脱敏YYYYYYYN

数据导入和导出

数据导入和导出6.56.15.45.35.25.15.04.0
快速导入 (TiDB Lightning)YYYYYYYY
mydumper 逻辑导出已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃
Dumpling 逻辑导出YYYYYYYY
事务 LOAD DATAYYYYYYYN 5
数据迁移工具YYYYYYYY
TiDB BinlogYYYYYYYY
Change data capture (CDC)YYYYYYYY
TiCDC 支持保存数据到存储服务 (S3/NFS/Azure Blob Storage)ENNNNNNN
TiCDC 支持在两个 TiDB 集群之间进行双向复制YNNNNNNN

管理,可视化和工具

管理,可视化和工具6.56.15.45.35.25.15.04.0
TiDB Dashboard 图形化展示YYYYYYYY
TiDB Dashboard 持续性能分析功能YYEENNNN
TiDB Dashboard Top SQL 功能YYENNNNN
TiDB Dashboard SQL 诊断功能YEEEEEEE
TiDB Dashboard 集群诊断功能YEEEEEEE
Grafana 中的 TiKV-FastTune 面板EEEEEEEE
Information schemaYYYYYYYY
Metrics schemaYYYYYYYY
Statements summary tablesYYYYYYYY
慢查询日志YYYYYYYY
TiUP 部署YYYYYYYY
Kubernetes operatorYYYYYYYY
内置物理备份YYYYYYYY
Global KillYYEEEEEE
Lock ViewYYYYYEEE
SHOW CONFIGYYYYYYYY
SET CONFIGYYEEEEEE
DM WebUIEENNNNNN
前台限流YENNNNNN
后台限流ENNNNNNN
基于 EBS 的备份和恢复YNNNNNNN
PITRYNNNNNNN
全局内存控制YNNNNNNN
RawKV 跨集群复制ENNNNNNN
Green GCEEEEEEEN

  1. TiDB 误将 latin1 处理为 utf8 的子集。见 TiDB #18955
  2. 从 v6.5.0 起,系统变量 tidb_allow_function_for_expression_index 所列出的函数已通过表达式索引的测试,可以在生产环境中创建并使用,未来版本会持续增加。对于没有列出的函数,则不建议在生产环境中使用相应的表达式索引。详情请参考表达式索引
  3. TiDB 支持的完整 SQL 列表,见语句参考
  4. 对于 TiDB v4.0,事务 LOAD DATA 不保证原子性。