📣
TiDB Cloud Essential is now in public preview. Try it out →

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

Indexing and constraints

SQL statements

SQL statements 38.58.17.57.16.56.15.4
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 operatorsYYYYYYY
GROUP BY, ORDER BYYYYYYYY
GROUP BY modifierYYYNNNN
Window FunctionsYYYYYYY
Common Table Expressions (CTE)YYYYYYY
START TRANSACTION, COMMIT, ROLLBACKYYYYYYY
EXPLAINYYYYYYY
EXPLAIN ANALYZEYYYYYYY
User-defined variablesEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYYYYN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYYYYNN
ALTER TABLE ... COMPACTYYYYYEN
Table LockEEEEEEE
TiFlash Query Result MaterializationYYYYENN

Advanced SQL features

Data definition language (DDL)

Data definition language (DDL)8.58.17.57.16.56.15.4
Basic CREATE, DROP, ALTER, RENAME, TRUNCATEYYYYYYY
Generated columnsYYYYEEE
ViewsYYYYYYY
SequencesYYYYYYY
Auto incrementYYYYY4YY
Auto randomYYYYYYY
TTL (Time to Live)YYYYENN
DDL algorithm assertionsYYYYYYY
Multi-schema change: add columnsYYYYYEE
Change column typeYYYYYYY
Temporary tablesYYYYYYY
Concurrent DDL statementsYYYYYNN
Acceleration of ADD INDEX and CREATE INDEXYYYYYNN
Metadata lockYYYYYNN
FLASHBACK CLUSTERYYYYYNN
Pause/Resume DDLYYYNNNN
TiDB Accelerated Table CreationYENNNNN
Configure BDR role to replicate DDL statements in BDR modeYENNNNN

Transactions

Partitioning

Statistics

Statistics8.58.17.57.16.56.15.4
CMSketchDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by default
HistogramsYYYYYYY
Extended statisticsEEEEEEE
Statistics feedbackNNNNNDeprecatedDeprecated
Automatically update statisticsYYYYYYY
Dynamic pruningYYYYYYE
Collect statistics for PREDICATE COLUMNSYEEEEEE
Control the memory quota for collecting statisticsEEEEEEN
Randomly sample about 10000 rows of data to quickly build statisticsDeprecatedDeprecatedDeprecatedEEEE
Lock statisticsYYYEENN
Lightweight statistics initializationYYYENNN
Show the progress of collecting statisticsYYYNNNN

Security

Data import and export

Data import and export8.58.17.57.16.56.15.4
Fast import using TiDB LightningYYYYYYY
Fast import using the IMPORT INTO statementYYYNNNN
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYY
Transactional LOAD DATA 5YYYYYYY
Database migration toolkit (DM)YYYYYYY
TiDB Binlog 6RemovedYYYYYY
Change data capture (CDC)YYYYYYY
Stream data to Amazon S3, GCS, Azure Blob Storage, and NFS through TiCDCYYYYENN
TiCDC supports bidirectional replication between two TiDB clustersYYYYYNN
TiCDC OpenAPI v2YYYYNNN
DM supports migrating MySQL 8.0YYEEEEN

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 v7.5.0, TiDB Binlog replication is deprecated. Starting from v8.3.0, TiDB Binlog is fully deprecated. Starting from v8.4.0, TiDB Binlog is removed. For incremental data replication, use TiCDC instead. For point-in-time recovery (PITR), use PITR. Before you upgrade your TiDB cluster to v8.4.0 or later versions, be sure to switch to TiCDC and PITR.
  6. 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).

Was this page helpful?