TiDB 基本功能
本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。
数据类型,函数和操作符
数据类型,函数,操作符 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 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 | 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 | 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 | 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 | Y | Y | Y | Y | Y |
操作符 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
字符集和排序规则 1 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
用户级别锁 | Y | Y | Y | Y | N | N | N | N | N | N | N |
索引和约束
索引和约束 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
表达式索引 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
列式存储 (TiFlash) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
RocksDB 引擎 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Titan 插件 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | 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 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
复合或非整型主键上的聚簇索引 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N |
SQL 语句
SQL 语句 2 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
SELECT ,INSERT ,UPDATE ,DELETE ,REPLACE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
INSERT ON DUPLICATE KEY UPDATE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
LOAD DATA INFILE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
SELECT INTO OUTFILE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
INNER JOIN , LEFT|RIGHT [OUTER] JOIN | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
UNION ,UNION ALL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
EXCEPT 和 INTERSECT 运算符 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N |
GROUP BY ,ORDER BY | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
窗口函数 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
公共表表达式 (CTE) | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
START TRANSACTION ,COMMIT ,ROLLBACK | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
EXPLAIN | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
EXPLAIN ANALYZE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
用户自定义变量 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
BATCH [ON COLUMN] LIMIT INTEGER DELETE | Y | Y | Y | Y | N | N | N | N | N | N | N |
ALTER TABLE ... COMPACT | Y | Y | Y | 实验特性 | N | N | N | N | N | N | N |
高级 SQL 功能
高级 SQL 功能 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
执行计划缓存 | Y | Y | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
执行计划管理 (SPM) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
下推计算结果缓存 (Coprocessor Cache) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | 实验特性 |
Stale Read | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
Follower Read | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
通过系统变量 tidb_snapshot 读取历史数据 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Optimizer hints | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
MPP 执行引擎 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N |
索引合并 | Y | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
基于 SQL 的数据放置规则 | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N |
数据定义语言 (DDL)
数据定义语言 (DDL) | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
CREATE ,DROP ,ALTER ,RENAME ,TRUNCATE | 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 | Y | Y | Y |
AUTO_INCREMENT 列 | Y3 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
AUTO_RANDOM 列 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
DDL 算法断言 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
在单条语句中添加多列 | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
更改列类型 | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
临时表 | Y | Y | Y | Y | Y | Y | Y | N | N | N | N |
并行 DDL | Y | Y | Y | N | N | N | N | N | N | N | N |
添加索引加速 | 实验特性 | 实验特性 | N | N | N | N | N | N | N | N | N |
元数据锁 | 实验特性 | 实验特性 | N | N | N | N | N | N | N | N | N |
FLASHBACK CLUSTER TO TIMESTAMP | 实验特性 | N | N | N | N | N | N | N | N | N | N |
事务
事务 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
Async commit | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N |
1PC | Y | Y | Y | Y | Y | 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 | 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 |
分区
分区 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
Range 分区 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Hash 分区 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
List 分区 | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N |
List COLUMNS 分区 | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N |
EXCHANGE PARTITION | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N |
动态裁剪 | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N | N |
Range COLUMNS 分区 | Y | Y | N | N | N | N | N | N | N | N | N |
Range INTERVAL 分区 | 实验特性 | 实验特性 | N | N | N | N | N | N | N | N | N |
统计信息
统计信息 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
CM-Sketch | 默认关闭 | 默认关闭 | 默认关闭 | 默认关闭 | 默认关闭 | 默认关闭 | 默认关闭 | Y | Y | Y | Y |
直方图 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
扩展统计信息(多列) | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N |
统计反馈 | N | N | N | 已废弃 | 已废弃 | 已废弃 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
统计信息自动更新 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
快速分析 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
动态裁剪 | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N | N |
安全
安全 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
传输层加密 (TLS) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
静态加密 (TDE) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
基于角色的访问控制 (RBAC) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
证书鉴权 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
caching_sha2_password 认证 | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N |
tidb_sm3_password 认证 | Y | Y | N | N | N | N | N | N | N | N | N |
tidb_auth_token 认证 | Y | N | N | N | N | N | N | N | N | N | N |
与 MySQL 兼容的 GRANT 权限管理 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
动态权限 | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
安全增强模式 | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
日志脱敏 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N |
数据导入和导出
数据导入和导出 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
快速导入 (TiDB Lightning) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
mydumper 逻辑导入 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 | 已废弃 |
Dumpling 逻辑导入 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
事务 LOAD DATA | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N 4 |
数据迁移工具 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
TiDB Binlog | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Change data capture (CDC) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
管理,可视化和工具
管理,可视化和工具 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
---|---|---|---|---|---|---|---|---|---|---|---|
TiDB Dashboard 图形化展示 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
TiDB Dashboard 持续性能分析功能 | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N |
TiDB Dashboard Top SQL 功能 | Y | Y | Y | Y | Y | 实验特性 | N | N | N | N | N |
TiDB Dashboard SQL 诊断功能 | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
TiDB Dashboard 集群诊断功能 | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
Information schema | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Metrics schema | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Statements summary tables | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
慢查询日志 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
TiUP 部署 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Ansible 部署 | N | N | N | N | N | N | N | N | N | N | 已废弃 |
Kubernetes operator | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
内置物理备份 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Global Kill | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
Lock View | Y | Y | Y | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 |
SHOW CONFIG | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
SET CONFIG | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
DM WebUI | 实验特 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N | N | N | N | N | N |
前台限流 | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N | N | N |
基于 EBS 的备份和恢复 | Y | N | N | N | N | N | N | N | N | N | N |
PITR | Y | Y | Y | N | N | N | N | N | N | N | N |
- TiDB 误将 latin1 处理为 utf8 的子集。见 TiDB #18955。↩
- TiDB 支持的完整 SQL 列表,见语句参考。↩
- 从 TiDB v6.4.0 开始,支持高性能、全局单调递增的
AUTO_INCREMENT
列↩ - 对于 TiDB v4.0,事务
LOAD DATA
不保证原子性。↩