TiDB 功能概览

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

功能概览 - 图1

注意

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

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

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

数据类型,函数和操作符

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

索引和约束

索引和约束7.16.56.15.45.35.25.15.04.0
表达式索引 2YYEEEEEEE
列式存储 (TiFlash)YYYYYYYYY
使用 FastScan 加速 OLAP 场景下的查询YENNNNNNN
RocksDB 引擎YYYYYYYYY
Titan 插件YYYYYYYYY
Titan Level MergeEEEEEEEEE
使用 bucket 提高数据扫描并发度EEENNNNNN
不可见索引YYYYYYYYN
复合主键YYYYYYYYY
唯一约束YYYYYYYYY
整型主键上的聚簇索引YYYYYYYYY
复合或非整型主键上的聚簇索引YYYYYYYYN
多值索引YNNNNNNNN
外键约束YNNNNNNNN
TiFlash 延迟物化YNNNNNNNN

SQL 语句

SQL 语句 37.16.56.15.45.35.25.15.04.0
SELECTINSERTUPDATEDELETEREPLACEYYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYYY
LOAD DATA INFILEYYYYYYYYY
SELECT INTO OUTFILEYYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYYY
UNIONUNION ALLYYYYYYYYY
EXCEPT 和 INTERSECT 运算符YYYYYYYYN
GROUP BYORDER BYYYYYYYYYY
窗口函数YYYYYYYYY
公共表表达式 (CTE)YYYYYYYNN
START TRANSACTIONCOMMITROLLBACKYYYYYYYYY
EXPLAINYYYYYYYYY
EXPLAIN ANALYZEYYYYYYYYY
用户自定义变量EEEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYNNNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYNNNNNNN
ALTER TABLE … COMPACTYYENNNNNN
表级锁 (Table Lock)EEEEEEEEE
物化列式存储的查询结果YENNNNNNN

高级 SQL 功能

高级 SQL 功能7.16.56.15.45.35.25.15.04.0
Prepare 语句执行计划缓存YYYYYEEEE
非 Prepare 语句执行计划缓存ENNNNNNNN
执行计划管理 (SPM)YYYYYYYYY
根据历史执行计划创建绑定YENNNNNNN
下推计算结果缓存 (Coprocessor Cache)YYYYYYYYE
Stale ReadYYYYYYYNN
Follower ReadYYYYYYYYY
通过系统变量 tidb_snapshot 读取历史数据YYYYYYYYY
Optimizer hintsYYYYYYYYY
MPP 执行引擎YYYYYYYYN
MPP 执行引擎 - compression exchangeYNNNNNNNN
索引合并YYYYEEEEE
基于 SQL 的数据放置规则YYYEENNNN
Cascades PlannerEEEEEEEEE

数据定义语言 (DDL)

数据定义语言 (DDL)7.16.56.15.45.35.25.15.04.0
CREATEDROPALTERRENAMETRUNCATEYYYYYYYYY
生成列YEEEEEEEE
视图YYYYYYYYY
序列YYYYYYYYY
AUTO_INCREMENT 列YY4YYYYYYY
AUTO_RANDOM 列YYYYYYYYY
TTL (Time to Live)YENNNNNNN
DDL 算法断言YYYYYYYYY
在单条语句中添加多列YYEEEEEEE
更改列类型YYYYYYYNN
临时表YYYYYNNNN
并行 DDLYYNNNNNNN
添加索引加速YYNNNNNNN
元数据锁YYNNNNNNN
FLASHBACK CLUSTER TO TIMESTAMPYYNNNNNNN

事务

事务7.16.56.15.45.35.25.15.04.0
Async commitYYYYYYYYN
1PCYYYYYYYYN
大事务 (10 GB)YYYYYYYYY
悲观事务YYYYYYYYY
乐观事务YYYYYYYYY
可重复读隔离(快照隔离)YYYYYYYYY
读已提交隔离YYYYYYYYY

分区

分区7.16.56.15.45.35.25.15.04.0
Range 分区YYYYYYYYY
Hash 分区YYYYYYYYY
Key 分区YNNNNNNNN
List 分区YYYEEEEEN
List COLUMNS 分区YYYEEEEEN
EXCHANGE PARTITIONYYEEEEEEN
REORGANIZE PARTITIONYNNNNNNNN
COALESCE PARTITIONYNNNNNNNN
动态裁剪YYYEEEENN
Range COLUMNS 分区YYNNNNNNN
Range INTERVAL 分区YENNNNNNN

统计信息

统计信息7.16.56.15.45.35.25.15.04.0
CM-Sketch默认关闭默认关闭默认关闭默认关闭默认关闭YYYY
直方图YYYYYYYYY
扩展统计信息(多列)EEEEEEEEN
统计反馈NN已废弃已废弃EEEEE
统计信息自动更新YYYYYYYYY
快速分析EEEEEEEEE
动态裁剪YYYEEEENN
收集部分列的统计信息EEEENNNNN
限制统计信息的内存使用量EEENNNNNN
随机采样约 10000 行数据来快速构建统计信息EEEEEEEEE
锁定统计信息EENNNNNNN
轻量级统计信息初始化ENNNNNNNN

安全

安全7.16.56.15.45.35.25.15.04.0
传输层加密 (TLS)YYYYYYYYY
静态加密 (TDE)YYYYYYYYY
基于角色的访问控制 (RBAC)YYYYYYYYY
证书鉴权YYYYYYYYY
caching_sha2_password 认证YYYYYYNNN
tidb_sm3_password 认证YYNNNNNNN
tidb_auth_token 认证YYNNNNNNN
authentication_ldap_sasl 认证YNNNNNNNN
authentication_ldap_simple 认证YNNNNNNNN
密码管理YYNNNNNNN
与 MySQL 兼容的 GRANT 权限管理YYYYYYYYY
动态权限YYYYYYYNN
安全增强模式YYYYYYYNN
日志脱敏YYYYYYYYN

数据导入和导出

数据导入和导出7.16.56.15.45.35.25.15.04.0
快速导入 (TiDB Lightning)YYYYYYYYY
mydumper 逻辑导出已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃
Dumpling 逻辑导出YYYYYYYYY
事务 LOAD DATAY 5YYYYYYYN 6
数据迁移工具YYYYYYYYY
TiDB BinlogYYYYYYYYY
Change data capture (CDC)YYYYYYYYY
TiCDC 支持保存数据到存储服务 (Amazon S3/GCS/Azure Blob Storage/NFS)YENNNNNNN
TiCDC 支持在两个 TiDB 集群之间进行双向复制YYNNNNNNN
TiCDC OpenAPI v2YNNNNNNNN

管理,可视化和工具

管理,可视化和工具7.16.56.15.45.35.25.15.04.0
TiDB Dashboard 图形化展示YYYYYYYYY
TiDB Dashboard 持续性能分析功能YYYEENNNN
TiDB Dashboard Top SQL 功能YYYENNNNN
TiDB Dashboard SQL 诊断功能YYEEEEEEE
TiDB Dashboard 集群诊断功能YYEEEEEEE
Grafana 中的 TiKV-FastTune 面板EEEEEEEEE
Information schemaYYYYYYYYY
Metrics schemaYYYYYYYYY
Statements summary tablesYYYYYYYYY
Statements summary tables - 持久化 statements summaryENNNNNNNN
慢查询日志YYYYYYYYY
TiUP 部署YYYYYYYYY
Kubernetes operatorYYYYYYYYY
内置物理备份YYYYYYYYY
Global KillYYYEEEEEE
Lock ViewYYYYYYEEE
SHOW CONFIGYYYYYYYYY
SET CONFIGYYYEEEEEE
DM WebUIEEENNNNNN
前台限流YYENNNNNN
后台限流EENNNNNNN
基于 EBS 的备份和恢复YYNNNNNNN
PITRYYNNNNNNN
全局内存控制YYNNNNNNN
RawKV 跨集群复制EENNNNNNN
Green GCEEEEEEEEN
资源管控 (Resource Control)YNNNNNNNN
TiFlash 存算分离架构与 S3 支持ENNNNNNNN

  1. TiDB 误将 latin1 处理为 utf8 的子集。见 TiDB #18955
  2. 从 v6.5.0 起,系统变量 tidb_allow_function_for_expression_index 所列出的函数已通过表达式索引的测试,可以在生产环境中创建并使用,未来版本会持续增加。对于没有列出的函数,则不建议在生产环境中使用相应的表达式索引。详情请参考表达式索引
  3. TiDB 支持的完整 SQL 列表,见语句参考
  4. TiDB v6.4.0 开始,支持高性能、全局单调递增的 AUTO_INCREMENT 列
  5. 对于 TiDB v4.0,事务 LOAD DATA 不保证原子性。
  6. 对于 TiDB v7.0.0,新增参数 FIELDS DEFINED NULL BY 以及新增支持从 S3 和 GCS 导入数据,均为实验特性。