TiDB Features

This document lists the features supported in each TiDB version. Note that supports for experimental features might change before the final release.

Data types, functions, and operators

Data types, functions, and operators6.05.45.35.25.15.04.0
Numeric typesYYYYYYY
Date and time typesYYYYYYY
String typesYYYYYYY
JSON typeExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Control flow functionsYYYYYYY
String functionsYYYYYYY
Numeric functions and operatorsYYYYYYY
Date and time functionsYYYYYYY
Bit functions and operatorsYYYYYYY
Cast functions and operatorsYYYYYYY
Encryption and compression functionsYYYYYYY
Information functionsYYYYYYY
JSON functionsExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Aggregation functionsYYYYYYY
Window functionsYYYYYYY
Miscellaneous functionsYYYYYYY
OperatorsYYYYYYY
Character sets and collations 1YYYYYYY

Indexing and constraints

Indexing and constraints6.05.45.35.25.15.04.0
Expression indexesExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Columnar storage (TiFlash)YYYYYYY
RocksDB engineYYYYYYY
Titan pluginYYYYYYY
Invisible indexesYYYYYYN
Composite PRIMARY KEYYYYYYYY
Unique indexesYYYYYYY
Clustered index on integer PRIMARY KEYYYYYYYY
Clustered index on composite or non-integer keyYYYYYYN

SQL statements

SQL statements 26.05.45.35.25.15.04.0
Basic SELECT, INSERT, UPDATE, DELETE, REPLACEYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYY
LOAD DATA INFILEYYYYYYY
SELECT INTO OUTFILEYYYYYYY
INNER JOIN, LEFT\|RIGHT [OUTER] JOINYYYYYYY
UNION, UNION ALLYYYYYYY
EXCEPT and INTERSECT operatorsYYYYYYN
GROUP BY, ORDER BYYYYYYYY
Window FunctionsYYYYYYY
Common Table Expressions (CTE)YYYYYNN
START TRANSACTION, COMMIT, ROLLBACKYYYYYYY
EXPLAINYYYYYYY
EXPLAIN ANALYZEYYYYYYY
User-defined variablesExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental

Advanced SQL features

Advanced SQL features6.05.45.35.25.15.04.0
Prepared statement cacheYYYExperimentalExperimentalExperimentalExperimental
SQL plan management (SPM)YYYYYYY
Coprocessor cacheYYYYYYExperimental
Stale ReadYYYYYNN
Follower readsYYYYYYY
Read historical data (tidb_snapshot)YYYYYYY
Optimizer hintsYYYYYYY
MPP Execution EngineYYYYYYN
Index MergeYYExperimentalExperimentalExperimentalExperimentalExperimental
Placement Rules in SQLYExperimentalExperimentalNNNN

Data definition language (DDL)

Data definition language (DDL)6.05.45.35.25.15.04.0
Basic CREATE, DROP, ALTER, RENAME, TRUNCATEYYYYYYY
Generated columnsExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
ViewsYYYYYYY
SequencesYYYYYYY
Auto incrementYYYYYYY
Auto randomYYYYYYY
DDL algorithm assertionsYYYYYYY
Multi schema change: add column(s)ExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Change column typeYYYYYNN
Temporary tablesYYYNNNN

Transactions

Transactions6.05.45.35.25.15.04.0
Async commitYYYYYYN
1PCYYYYYYN
Large transactions (10GB)YYYYYYY
Pessimistic transactionsYYYYYYY
Optimistic transactionsYYYYYYY
Repeatable-read isolation (snapshot isolation)YYYYYYY
Read-committed isolationYYYYYYY

Partitioning

Partitioning6.05.45.35.25.15.04.0
Range partitioningYYYYYYY
Hash partitioningYYYYYYY
List partitioningExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalN
List COLUMNS partitioningExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalN
EXCHANGE PARTITIONExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalN
Dynamic PruningExperimentalExperimentalExperimentalExperimentalExperimentalNN

Statistics

Statistics6.05.45.35.25.15.04.0
CMSketchDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedY
HistogramsYYYYYYY
Extended statistics (multiple columns)ExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalN
Statistics FeedbackDeprecatedDeprecatedExperimentalExperimentalExperimentalExperimentalExperimental
Fast AnalyzeExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental

Security

Security6.05.45.35.25.15.04.0
Transparent layer security (TLS)YYYYYYY
Encryption at rest (TDE)YYYYYYY
Role-based authentication (RBAC)YYYYYYY
Certificate-based authenticationYYYYYYY
caching_sha2_password authenticationYYYYNNN
MySQL compatible GRANT systemYYYYYYY
Dynamic PrivilegesYYYYYNN
Security Enhanced ModeYYYYYNN
Redacted Log FilesYYYYYYN

Data import and export

Data import and export6.05.45.35.25.15.04.0
Fast Importer (TiDB Lightning)YYYYYYY
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYY
Transactional LOAD DATAYYYYYYN 3
Database migration toolkit (DM)YYYYYYY
TiDB BinlogYYYYYYY
Change data capture (CDC)YYYYYYY

Management, observability, and tools

Management, observability, and tools6.05.45.35.25.15.04.0
TiDB Dashboard UIYYYYYYY
TiDB Dashboard Continuous ProfilingYExperimentalExperimentalNNNN
TiDB Dashboard Top SQLYExperimentalNNNNN
TiDB Dashboard SQL DiagnosticsExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Information schemaYYYYYYY
Metrics schemaYYYYYYY
Statements summary tablesYYYYYYY
Slow query logYYYYYYY
TiUP deploymentYYYYYYY
Ansible deploymentNNNNNNDeprecated
Kubernetes operatorYYYYYYY
Built-in physical backupYYYYYYY
Global KillExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
Lock ViewYYYYExperimentalExperimentalExperimental
SHOW CONFIGExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
SET CONFIGExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimental
DM WebUIExperimentalNNNNNN

  1. TiDB incorrectly treats latin1 as a subset of utf8. See TiDB #18955 for more details.
  2. See Statement Reference for a full list of SQL statements supported.
  3. For TiDB v4.0, the LOAD DATA transaction does not guarantee atomicity.