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 |
---|---|---|---|---|---|---|
SELECT ,INSERT ,UPDATE ,DELETE ,REPLACE | 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 |
UNION ,UNION ALL | Y | Y | Y | Y | Y | Y |
EXCEPT 和 INTERSECT 运算符 | Y | Y | Y | Y | Y | N |
GROUP BY ,ORDER BY | Y | Y | Y | Y | Y | Y |
窗口函数 | Y | Y | Y | Y | Y | Y |
公共表表达式 (CTE) | Y | Y | Y | Y | N | N |
START TRANSACTION ,COMMIT ,ROLLBACK | Y | Y | Y | Y | Y | Y |
EXPLAIN | Y | Y | Y | Y | Y | Y |
EXPLAIN ANALYZE | Y | Y | Y | Y | Y | Y |
用户自定义变量 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
表级锁 (Table Lock) | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
高级 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 |
---|---|---|---|---|---|---|
CREATE ,DROP ,ALTER ,RENAME ,TRUNCATE | 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 |
- TiDB 误将 latin1 处理为 utf8 的子集。见 TiDB #18955。↩
- TiDB 支持的完整 SQL 列表,见语句参考。↩
- 对于 TiDB v4.0,事务
LOAD DATA
不保证原子性。↩