TiDB 功能概览

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

数据类型,函数和操作符

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

索引和约束

索引和约束8.58.17.57.16.56.15.45.35.25.1
表达式索引 2YYYYYEEEEE
列式存储 (TiFlash)YYYYYYYYYY
使用 FastScan 加速 OLAP 场景下的查询YYYYENNNNN
RocksDB 引擎YYYYYYYYYY
Titan 插件YYYYYYYYYY
Titan Level MergeEEEEEEEEEE
使用 bucket 提高数据扫描并发度EEEEEENNNN
不可见索引YYYYYYYYYY
复合主键YYYYYYYYYY
CHECK 约束YYYNNNNNNN
唯一约束YYYYYYYYYY
整型主键上的聚簇索引YYYYYYYYYY
复合或非整型主键上的聚簇索引YYYYYYYYYY
多值索引YYYYNNNNNN
外键约束YEEENNNNNN
TiFlash 延迟物化YYYYNNNNNN
全局索引 (Global Index)YNNNNNNNNN
向量索引ENNNNNNNNN

SQL 语句

SQL 语句 38.58.17.57.16.56.15.45.35.25.1
SELECTINSERTUPDATEDELETEREPLACEYYYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYYYY
LOAD DATA INFILEYYYYYYYYYY
SELECT INTO OUTFILEYYYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYYYY
UNIONUNION ALLYYYYYYYYYY
EXCEPTINTERSECT 运算符YYYYYYYYYY
GROUP BYORDER BYYYYYYYYYYY
GROUP BY 修饰符YYYNNNNNNN
窗口函数YYYYYYYYYY
公共表表达式 (CTE)YYYYYYYYYY
START TRANSACTIONCOMMITROLLBACKYYYYYYYYYY
EXPLAINYYYYYYYYYY
EXPLAIN ANALYZEYYYYYYYYYY
用户自定义变量EEEEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYYYYNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYYYYNNNNN
ALTER TABLE ... COMPACTYYYYYENNNN
表级锁 (Table Lock)EEEEEEEEEE
物化列式存储的查询结果YYYYENNNNN

高级 SQL 功能

高级 SQL 功能8.58.17.57.16.56.15.45.35.25.1
向量搜索ENNNNNNNNN
Prepare 语句执行计划缓存YYYYYYYYEE
非 Prepare 语句执行计划缓存YYYENNNNNN
实例级执行计划缓存ENNNNNNNNN
执行计划绑定 (SQL Binding)YYYYYYYYYY
跨数据库执行计划绑定 (Cross-DB Binding)YYNNNNNNNN
根据历史执行计划创建绑定YYYYENNNNN
下推计算结果缓存 (Coprocessor Cache)YYYYYYYYYY
Stale ReadYYYYYYYYYY
Follower ReadYYYYYYYYYY
通过系统变量 tidb_snapshot 读取历史数据YYYYYYYYYY
Optimizer hintsYYYYYYYYYY
MPP 执行引擎YYYYYYYYYY
MPP 执行引擎 - compression exchangeYYYYNNNNNN
TiFlash Pipeline 执行模型YYYNNNNNNN
TiFlash 副本选择策略YYYNNNNNNN
索引合并YYYYYYYEEE
基于 SQL 的数据放置规则YYYYYYEENN
Cascades PlannerEEEEEEEEEE
Runtime FilterYYYNNNNNNN

数据定义语言 (DDL)

数据定义语言 (DDL)8.58.17.57.16.56.15.45.35.25.1
CREATEDROPALTERRENAMETRUNCATEYYYYYYYYYY
生成列YYYYEEEEEE
视图YYYYYYYYYY
序列YYYYYYYYYY
AUTO_INCREMENTYYYYY4YYYYY
AUTO_RANDOMYYYYYYYYYY
TTL (Time to Live)YYYYENNNNN
DDL 算法断言YYYYYYYYYY
在单条语句中添加多列YYYYYEEEEE
更改列类型YYYYYYYYYY
临时表YYYYYYYYNN
并行 DDLYYYYYNNNNN
添加索引加速YYYYYNNNNN
元数据锁YYYYNNNNN
FLASHBACK CLUSTERYYYYYNNNNN
暂停/恢复 DDLYYYNNNNNNN
TiDB 加速建表YENNNNNNNN
设置 BDR Role 用于 TiCDC 双向同步时同步 DDLYENNNNNNNN

事务

事务8.58.17.57.16.56.15.45.35.25.1
Async commitYYYYYYYYYY
1PCYYYYYYYYYY
大事务 (1 TiB)YYYYYYYYYY
悲观事务YYYYYYYYYY
乐观事务YYYYYYYYYY
可重复读隔离(快照隔离)YYYYYYYYYY
读已提交隔离YYYYYYYYYY
自动终止长时间未提交的空闲事务YYNNNNNNNN
批量 DML 语句的执行方式 (tidb_dml_type = "bulk")ENNNNNNNN

分区

分区8.58.17.57.16.56.15.45.35.25.1
Range 分区YYYYYYYYYY
Hash 分区YYYYYYYYYY
Key 分区YYYYNNNNNN
List 分区YYYYYYEEEE
List COLUMNS 分区YYYYYYEEEE
List 和 List COLUMNS 分区表的默认分区YYYNNNNNNN
EXCHANGE PARTITIONYYYYYEEEEE
REORGANIZE PARTITIONYYYYNNNNNN
COALESCE PARTITIONYYYYNNNNNN
动态裁剪YYYYYYEEEE
Range COLUMNS 分区YYYYYNNNNN
Range INTERVAL 分区YYYYENNNNN
分区表转换为非分区表YYYNNNNNNN
对现有表进行分区YYYNNNNNNN

统计信息

统计信息8.58.17.57.16.56.15.45.35.25.1
CM-Sketch默认关闭默认关闭默认关闭默认关闭默认关闭默认关闭默认关闭默认关闭YY
直方图YYYYYYYYYY
扩展统计信息EEEEEEEEEE
统计反馈NNNNN已废弃已废弃EEE
统计信息自动更新YYYYYYYYYY
动态裁剪YYYYYYEEEE
收集部分列的统计信息YEEEEEENNN
限制统计信息的内存使用量EEEEEENNNN
随机采样约 10000 行数据来快速构建统计信息已废弃已废弃已废弃EEEEEEE
锁定统计信息YYYEENNNNN
轻量级统计信息初始化YYYENNNNNN
显示统计信息收集的进度YYYNNNNNNN

安全

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

数据导入和导出

数据导入和导出8.58.17.57.16.56.15.45.35.25.1
快速导入 (TiDB Lightning)YYYYYYYYYY
快速导入 (IMPORT INTO)YYYNNNNNNN
mydumper 逻辑导出已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃已废弃
Dumpling 逻辑导出YYYYYYYYYY
事务 LOAD DATA 5YYYYYYYYYY
数据迁移工具YYYYYYYYYY
TiDB Binlog 6已移除YYYYYYYYY
Change data capture (CDC)YYYYYYYYYY
TiCDC 支持保存数据到存储服务 (Amazon S3/GCS/Azure Blob Storage/NFS)YYYYENNNNN
TiCDC 支持在两个 TiDB 集群之间进行双向复制YYYYYNNNNN
TiCDC OpenAPI v2YYYYNNNNNN
DM 支持迁移 MySQL 8.0YYEEEENNNN

管理,可视化和工具

管理,可视化和工具8.58.17.57.16.56.15.45.35.25.1
TiDB Dashboard 图形化展示YYYYYYYYYY
TiDB Dashboard 持续性能分析功能YYYYYYEENN
TiDB Dashboard Top SQL 功能YYYYYYENNN
TiDB Dashboard SQL 诊断功能YYYYYEEEEE
TiDB Dashboard 集群诊断功能YYYYYEEEEE
Grafana 中的 TiKV-FastTune 面板EEEEEEEEEE
Information schemaYYYYYYYYYY
Metrics schemaYYYYYYYYYY
Statements summary tablesYYYYYYYYYY
Statements summary tables - 持久化 statements summaryEEEENNNNNN
慢查询日志YYYYYYYYYY
TiUP 部署YYYYYYYYYY
Kubernetes operatorYYYYYYYYYY
内置物理备份YYYYYYYYYY
Global KillYYYYYYEEEE
Lock ViewYYYYYYYYYE
SHOW CONFIGYYYYYYYYYY
SET CONFIGYYYYYYEEEE
DM WebUIEEEEEENNNN
前台限流YYYYYENNNN
后台限流EEEEENNNNN
基于 EBS 的备份和恢复YYYYYNNNNN
PITRYYYYYNNNNN
全局内存控制YYYYYNNNNN
RawKV 跨集群复制EEEEENNNNN
Green GCEEEEEEEEEE
资源管控 (Resource Control)YYYYNNNNNN
Runaway Queries 自动管理YYENNNNNNN
后台任务资源管控EEENNNNNNN
TiFlash 存算分离架构与 S3 支持YYYENNNNNN
选择执行分布式执行框架任务的 TiDB 节点YYYNNNNNNN
通过系统变量 tidb_enable_tso_follower_proxy 控制 PD Follower Proxy 功能YYYYYYYYNN
通过系统变量 pd_enable_follower_handle_region 控制 Active PD Follower 功能YENNNNNNNN
PD 微服务EENNNNNNNN
TiDB 分布式执行框架YYYENNNNNN
全局排序YYENNNNNNN
TiProxyYYNNNNNNNN
Schema 缓存YNNNNNNNNN

  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. 从 v7.5.0 开始,TiDB Binlog 的数据同步功能被废弃。从 v8.3.0 开始,TiDB Binlog 被完全废弃。从 v8.4.0 开始,TiDB Binlog 被移除。如需进行增量数据同步,请使用 TiCDC。如需按时间点恢复 (point-in-time recovery, PITR),请使用 PITR。在将 TiDB 集群升级到 v8.4.0 或之后版本前,务必先切换至 TiCDC 和 PITR。
  6. TiDB v7.0.0 开始新增的参数 FIELDS DEFINED NULL BY 以及新增支持从 S3 和 GCS 导入数据,均为实验特性。从 TiDB v7.6.0 开始 LOAD DATA 的事务行为与 MySQL 的事务行为一致,包括事务内的 LOAD DATA 语句本身不再自动提交当前事务,也不会开启新事务,并且事务内的 LOAD DATA 语句可以被显式提交或者回滚。此外,LOAD DATA 语句会受 TiDB 事务模式设置(乐观/悲观)影响。

文档内容是否有帮助?