You are viewing the archived documentation of TiDB, which no longer receives updates.View latest LTS version docs

TiDB Features

This document lists the features supported in different TiDB versions, including Long-Term Support (LTS) versions and Development Milestone Release (DMR) versions after the latest LTS version.

You can try out TiDB features on TiDB Playground.

Data types, functions, and operators

Data types, functions, and operators7.67.57.16.56.15.45.35.25.15.04.0
Numeric typesYYYYYYYYYYY
Date and time typesYYYYYYYYYYY
String typesYYYYYYYYYYY
JSON typeYYYYEEEEEEE
Control flow functionsYYYYYYYYYYY
String functionsYYYYYYYYYYY
Numeric functions and operatorsYYYYYYYYYYY
Date and time functionsYYYYYYYYYYY
Bit functions and operatorsYYYYYYYYYYY
Cast functions and operatorsYYYYYYYYYYY
Encryption and compression functionsYYYYYYYYYYY
Information functionsYYYYYYYYYYY
JSON functionsYYYYEEEEEEE
Aggregation functionsYYYYYYYYYYY
Window functionsYYYYYYYYYYY
Miscellaneous functionsYYYYYYYYYYY
OperatorsYYYYYYYYYYY
Character sets and collations 1YYYYYYYYYYY
User-level lockYYYYYNNNNNN

Indexing and constraints

SQL statements

SQL statements 37.67.57.16.56.15.45.35.25.15.04.0
Basic SELECT, INSERT, UPDATE, DELETE, REPLACEYYYYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYYYYY
LOAD DATA INFILEYYYYYYYYYYY
SELECT INTO OUTFILEYYYYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYYYYY
UNION, UNION ALLYYYYYYYYYYY
EXCEPT and INTERSECT operatorsYYYYYYYYYYN
GROUP BY, ORDER BYYYYYYYYYYYY
Window FunctionsYYYYYYYYYYY
Common Table Expressions (CTE)YYYYYYYYYNN
START TRANSACTION, COMMIT, ROLLBACKYYYYYYYYYYY
EXPLAINYYYYYYYYYYY
EXPLAIN ANALYZEYYYYYYYYYYY
User-defined variablesEEEEEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYYYNNNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYYYNNNNNNN
ALTER TABLE ... COMPACTYYYYENNNNNN
Table LockEEEEEEEEEEE
TiFlash Query Result MaterializationYYYENNNNNNN

Advanced SQL features

Data definition language (DDL)

Data definition language (DDL)7.67.57.16.56.15.45.35.25.15.04.0
Basic CREATE, DROP, ALTER, RENAME, TRUNCATEYYYYYYYYYYY
Generated columnsYYYEEEEEEEE
ViewsYYYYYYYYYYY
SequencesYYYYYYYYYYY
Auto incrementYYYY4YYYYYYY
Auto randomYYYYYYYYYYY
TTL (Time to Live)YYYENNNNNNN
DDL algorithm assertionsYYYYYYYYYYY
Multi-schema change: add columnsYYYYEEEEEEE
Change column typeYYYYYYYYYNN
Temporary tablesYYYYYYYNNNN
Concurrent DDL statementsYYYYNNNNNNN
Acceleration of ADD INDEX and CREATE INDEXYYYYNNNNNNN
Metadata lockYYYYNNNNNNN
FLASHBACK CLUSTERYYYYNNNNNNN
Pause/Resume DDLYYNNNNNNNNN
TiDB DDL V2ENNNNNNNNNN

Transactions

Partitioning

Statistics

Statistics7.67.57.16.56.16.05.45.35.25.15.0
CMSketchDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultYYY
HistogramsYYYYYYYYYYY
Extended statisticsEEEEEEEEEEE
Statistics feedbackNNNNDeprecatedDeprecatedDeprecatedEEEE
Automatically update statisticsYYYYYYYYYYY
Dynamic pruningYYYYYEEEEEN
Collect statistics for PREDICATE COLUMNSEEEEEEENNNN
Control the memory quota for collecting statisticsEEEEENNNNNN
Randomly sample about 10000 rows of data to quickly build statisticsDeprecatedDeprecatedEEEEEEEEE
Lock statisticsYYEENNNNNNN
Lightweight statistics initializationYYENNNNNNNN
Show the progress of collecting statisticsYYNNNNNNNNN

Security

Data import and export

Data import and export7.67.57.16.56.15.45.35.25.15.04.0
Fast import using TiDB LightningYYYYYYYYYYY
Fast import using the IMPORT INTO statementYYNNNNNNNNN
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYYYYYY
Transactional LOAD DATA 5YYYYYYYYYYN 6
Database migration toolkit (DM)YYYYYYYYYYY
TiDB Binlog 7YYYYYYYYYYY
Change data capture (CDC)YYYYYYYYYYY
Stream data to Amazon S3, GCS, Azure Blob Storage, and NFS through TiCDCYYYENNNNNNN
TiCDC supports bidirectional replication between two TiDB clustersYYYYNNNNNNN
TiCDC OpenAPI v2YYYNNNNNNNN
DM supports migrating MySQL 8.0YEEEENNNNNN

Management, observability, and tools


  1. TiDB incorrectly treats latin1 as a subset of utf8. See TiDB #18955 for more details.
  2. Starting from v6.5.0, the expression indexes created on the functions listed by the tidb_allow_function_for_expression_index system variable have been tested and can be used in production environments, and more functions will be supported in the future releases. For functions not listed by this variable, the corresponding expression indexes are not recommended for use in production environments. See expression indexes for details.
  3. See Statement Reference for a full list of SQL statements supported.
  4. Starting from v6.4.0, TiDB supports high-performance and globally monotonic AUTO_INCREMENT columns
  5. Starting from TiDB v7.5.0, technical support for the data replication feature of TiDB Binlog is no longer provided. It is strongly recommended to use TiCDC as an alternative solution for data replication. Although TiDB Binlog v7.5.0 still supports the Point-in-Time Recovery (PITR) scenario, this component will be completely deprecated in future versions. It is recommended to use PITR as an alternative solution for data recovery.
  6. For TiDB v4.0, the LOAD DATA transaction does not guarantee atomicity.
  7. Starting from TiDB v7.0.0, the new parameter FIELDS DEFINED NULL BY and support for importing data from S3 and GCS are experimental features. Starting from v7.6.0, TiDB processes LOAD DATA in transactions in the same way as MySQL. The LOAD DATA statement in a transaction no longer automatically commits the current transaction or starts a new transaction. Moreover, you can explicitly commit or roll back the LOAD DATA statement in a transaction. Additionally, the LOAD DATA statement is affected by the TiDB transaction mode setting (optimistic or pessimistic transaction).