TiDB 基本功能

本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。

数据类型,函数和操作符

数据类型,函数,操作符 5.4 5.3 5.2 5.1 5.0 4.0
数值类型 Y Y Y Y Y Y
日期和时间类型 Y Y Y Y Y Y
字符串类型 Y Y Y Y Y Y
JSON 类型 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
控制流程函数 Y Y Y Y Y Y
字符串函数 Y Y Y Y Y Y
数值函数与操作符 Y Y Y Y Y Y
日期和时间函数 Y Y Y Y Y Y
位函数和操作符 Y Y Y Y Y Y
Cast 函数和操作符 Y Y Y Y Y Y
加密和压缩函数 Y Y Y Y Y Y
信息函数 Y Y Y Y Y Y
JSON 函数 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
聚合函数 Y Y Y Y Y Y
窗口函数 Y Y Y Y Y Y
其他函数 Y Y Y Y Y Y
操作符 Y Y Y Y Y Y
字符集和排序规则 [^1] Y Y Y Y Y Y

索引和约束

索引和约束 5.4 5.3 5.2 5.1 5.0 4.0
表达式索引 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
列式存储 (TiFlash) Y Y Y Y Y Y
RocksDB 引擎 Y Y Y Y Y Y
Titan 插件 Y Y Y Y Y Y
不可见索引 Y Y Y Y Y N
复合主键 Y Y Y Y Y Y
唯一约束 Y Y Y Y Y Y
整型主键上的聚簇索引 Y Y Y Y Y Y
复合或非整型主键上的聚簇索引 Y Y Y Y Y N

SQL 语句

SQL 语句 [^2] 5.4 5.3 5.2 5.1 5.0 4.0
SELECTINSERTUPDATEDELETEREPLACE Y Y Y Y Y Y
INSERT ON DUPLICATE KEY UPDATE Y Y Y Y Y Y
LOAD DATA INFILE Y Y Y Y Y Y
SELECT INTO OUTFILE Y Y Y Y Y Y
INNER JOIN, LEFT\ RIGHT [OUTER] JOIN Y Y Y Y Y Y
UNIONUNION ALL Y Y Y Y Y Y
EXCEPTINTERSECT 运算符 Y Y Y Y Y N
GROUP BYORDER BY Y Y Y Y Y Y
窗口函数 Y Y Y Y Y Y
公共表表达式 (CTE) Y Y Y Y N N
START TRANSACTIONCOMMITROLLBACK Y Y Y Y Y Y
EXPLAIN Y Y Y Y Y Y
EXPLAIN ANALYZE Y Y Y Y Y Y
用户自定义变量 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性

高级 SQL 功能

高级 SQL 功能 5.4 5.3 5.2 5.1 5.0 4.0
执行计划缓存 Y Y 实验特性 实验特性 实验特性 实验特性
执行计划管理 (SPM) Y Y Y Y Y Y
下推计算结果缓存 (Coprocessor Cache) Y Y Y Y Y 实验特性
Stale Read Y Y Y Y N N
Follower Read Y Y Y Y Y Y
通过系统变量 tidb_snapshot 读取历史数据 Y Y Y Y Y Y
Optimizer hints Y Y Y Y Y Y
MPP 执行引擎 Y Y Y Y Y N
索引合并 Y 实验特性 实验特性 实验特性 实验特性 实验特性
Placement Rules in SQL 实验特性 实验特性 N N N N

数据定义语言 (DDL)

数据定义语言 (DDL) 5.4 5.3 5.2 5.1 5.0 4.0
CREATEDROPALTERRENAMETRUNCATE Y Y Y Y Y Y
生成列 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
视图 Y Y Y Y Y Y
序列 Y Y Y Y Y Y
AUTO_INCREMENT Y Y Y Y Y Y
AUTO_RANDOM Y Y Y Y Y Y
DDL 算法断言 Y Y Y Y Y Y
在单条语句中添加多列 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
更改列类型 Y Y Y Y N N
临时表 Y Y N N N N

事务

事务 5.4 5.3 5.2 5.1 5.0 4.0
Async commit Y Y Y Y Y N
1PC Y Y Y Y Y N
大事务 (10 GB) Y Y Y Y Y Y
悲观事务 Y Y Y Y Y Y
乐观事务 Y Y Y Y Y Y
可重复读隔离(快照隔离) Y Y Y Y Y Y
读已提交隔离 Y Y Y Y Y Y

分区

分区 5.4 5.3 5.2 5.1 5.0 4.0
Range 分区 Y Y Y Y Y Y
Hash 分区 Y Y Y Y Y Y
List 分区 实验特性 实验特性 实验特性 实验特性 实验特性 N
List COLUMNS 分区 实验特性 实验特性 实验特性 实验特性 实验特性 N
EXCHANGE PARTITION 实验特性 实验特性 实验特性 实验特性 实验特性 N
动态裁剪 实验特性 实验特性 实验特性 实验特性 N N

统计信息

统计信息 5.4 5.3 5.2 5.1 5.0 4.0
CM-Sketch 已废弃 已废弃 已废弃 已废弃 已废弃 Y
直方图 Y Y Y Y Y Y
扩展统计信息(多列) 实验特性 实验特性 实验特性 实验特性 实验特性 N
统计反馈 已废弃 实验特性 实验特性 实验特性 实验特性 实验特性
快速分析 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性

安全

安全 5.4 5.3 5.2 5.1 5.0 4.0
传输层加密 (TLS) Y Y Y Y Y Y
静态加密 (TDE) Y Y Y Y Y Y
基于角色的访问控制 (RBAC) Y Y Y Y Y Y
证书鉴权 Y Y Y Y Y Y
caching_sha2_password 认证 Y Y Y N N N
与 MySQL 兼容的 GRANT 权限管理 Y Y Y Y Y Y
动态权限 Y Y Y Y N N
安全增强模式 Y Y Y Y N N
日志脱敏 Y Y Y Y Y N

数据导入和导出

数据导入和导出 5.4 5.3 5.2 5.1 5.0 4.0
快速导入 (TiDB Lightning) Y Y Y Y Y Y
mydumper 逻辑导入 已废弃 已废弃 已废弃 已废弃 已废弃 已废弃
Dumpling 逻辑导入 Y Y Y Y Y Y
事务 LOAD DATA Y Y Y Y Y N [^3]
数据迁移工具 Y Y Y Y Y Y
TiDB Binlog Y Y Y Y Y Y
Change data capture (CDC) Y Y Y Y Y Y

管理,可视化和工具

管理,可视化诊断和工具 5.4 5.3 5.2 5.1 5.0 4.0
TiDB Dashboard Y Y Y Y Y Y
SQL 诊断 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
Information schema Y Y Y Y Y Y
Metrics schema Y Y Y Y Y Y
Statements summary tables Y Y Y Y Y Y
慢查询日志 Y Y Y Y Y Y
TiUP 部署 Y Y Y Y Y Y
Ansible 部署 N N N N N 已废弃
Kubernetes operator Y Y Y Y Y Y
内置物理备份 Y Y Y Y Y Y
Global Kill 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
Lock View Y Y Y 实验特性 实验特性 实验特性
SHOW CONFIG 实验特性 实验特性 实验特性 实验特性 实验特性 实验特性
SET CONFIG Y Y Y Y Y Y
持续性能分析 实验特性 实验特性 N N N N
Top SQL 实验特性 N N N N N

[^1]: TiDB 误将 latin1 处理为 utf8 的子集。见 TiDB #18955

[^2]: TiDB 支持的完整 SQL 列表,见语句参考

[^3]: 对于 TiDB v4.0,事务 LOAD DATA 不保证原子性。