📣

TiDB Cloud Serverless is now
TiDB Cloud Starter
! Same experience, new name.
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

Data types, functions, and operators8.58.17.57.16.56.15.4
Numeric typesYYYYYYY
Date and time typesYYYYYYY
String typesYYYYYYY
JSON typeYYYYYEE
Vector typesENNNNNN
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
Vector functions and operatorsENNNNNN
Information functionsYYYYYYY
JSON functionsYYYYYEE
Aggregation functionsYYYYYYY
Window functionsYYYYYYY
Miscellaneous functionsYYYYYYY
OperatorsYYYYYYY
Character sets and collations 1YYYYYYY
User-level lockYYYYYYN

Indexing and constraints

Indexing and constraints8.58.17.57.16.56.15.4
Expression indexes 2YYYYYEE
Columnar storage (TiFlash)YYYYYYY
Use FastScan to accelerate queries in OLAP scenariosYYYYENN
RocksDB engineYYYYYYY
Titan pluginYYYYYYY
Titan Level MergeEEEEEEE
Use buckets to improve scan concurrencyEEEEEEN
Invisible indexesYYYYYYY
Composite PRIMARY KEYYYYYYYY
CHECK constraintsYYYNNNN
Unique indexesYYYYYYY
Clustered index on integer PRIMARY KEYYYYYYYY
Clustered index on composite or non-integer keyYYYYYYY
Multi-valued indexesYYYYNNN
Foreign keyYEEENNN
TiFlash late materializationYYYYNNN
Global indexYNNNNNN
Vector indexENNNNNN

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

Advanced SQL features8.58.17.57.16.56.15.4
Vector searchENNNNNN
Prepared statement cacheYYYYYYY
Non-prepared statement cacheYYYENNN
Instance-level execution plan cacheENNNNNN
SQL bindingYYYYYYY
Cross-database bindingYYNNNNN
Create bindings according to historical execution plansYYYYENN
Coprocessor cacheYYYYYYY
Stale ReadYYYYYYY
Follower readsYYYYYYY
Read historical data (tidb_snapshot)YYYYYYY
Optimizer hintsYYYYYYY
MPP execution engineYYYYYYY
MPP execution engine - compression exchangeYYYYNNN
TiFlash Pipeline ModelYYYNNNN
TiFlash replica selection strategyYYYNNNN
Index MergeYYYYYYY
Placement Rules in SQLYYYYYYE
Cascades PlannerEEEEEEE
Runtime FilterYYYNNNN

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

Transactions8.58.17.57.16.56.15.4
Async commitYYYYYYY
1PCYYYYYYY
Large transactions (1 TiB)YYYYYYY
Pessimistic transactionsYYYYYYY
Optimistic transactionsYYYYYYY
Repeatable-read isolation (snapshot isolation)YYYYYYY
Read-committed isolationYYYYYYY
Automatically terminating long-running idle transactionsYYNNNNN
Bulk DML execution mode (tidb_dml_type = "bulk")EENNNNN

Partitioning

Partitioning8.58.17.57.16.56.15.4
Range partitioningYYYYYYY
Hash partitioningYYYYYYY
Key partitioningYYYYNNN
List partitioningYYYYYYE
List COLUMNS partitioningYYYYYYE
Default partition for List and List COLUMNS partitioned tablesYYYNNNN
EXCHANGE PARTITIONYYYYYEE
REORGANIZE PARTITIONYYYYNNN
COALESCE PARTITIONYYYYNNN
Dynamic pruningYYYYYYE
Range COLUMNS partitioningYYYYYNN
Range INTERVAL partitioningYYYYENN
Convert a partitioned table to a non-partitioned tableYYYNNNN
Partition an existing tableYYYNNNN
Global indexYNNNNNN

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

Security8.58.17.57.16.56.15.4
Transparent layer security (TLS)YYYYYYY
Encryption at rest (TDE)YYYYYYY
Role-based authentication (RBAC)YYYYYYY
Certificate-based authenticationYYYYYYY
caching_sha2_password authenticationYYYYYYY
tidb_sm3_password authenticationYYYYYNN
tidb_auth_token authenticationYYYYYNN
authentication_ldap_sasl authenticationYYYNNNN
authentication_ldap_simple authenticationYYYYNNN
Password managementYYYYYNN
MySQL compatible GRANT systemYYYYYYY
Dynamic PrivilegesYYYYYYY
Security Enhanced ModeYYYYYYY
Redacted Log FilesYYYYYYY

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

Management, observability, and tools8.58.17.57.16.56.15.4
TiDB Dashboard UIYYYYYYY
TiDB Dashboard Continuous ProfilingYYYYYYE
TiDB Dashboard Top SQLYYYYYYE
TiDB Dashboard SQL DiagnosticsYYYYYEE
TiDB Dashboard Cluster DiagnosticsYYYYYEE
TiKV-FastTune dashboardEEEEEEE
Information schemaYYYYYYY
Metrics schemaYYYYYYY
Statements summary tablesYYYYYYY
Statements summary tables - summary persistenceEEEENNN
Slow query logYYYYYYY
TiUP deploymentYYYYYYY
Kubernetes operatorYYYYYYY
Built-in physical backupYYYYYYY
Global KillYYYYYYE
Lock ViewYYYYYYY
SHOW CONFIGYYYYYYY
SET CONFIGYYYYYYE
DM WebUIEEEEEEN
Foreground Quota LimiterYYYYYEN
Background Quota LimiterEEEEENN
EBS volume snapshot backup and restoreYYYYYNN
PITRYYYYYNN
Global memory controlYYYYYNN
Cross-cluster RawKV replicationEEEEENN
Green GCEEEEEEE
Resource controlYYYYNNN
Runaway Queries managementYYENNNN
Background tasks managementEEENNNN
TiFlash Disaggregated Storage and Compute Architecture and S3 SupportYYYENNN
Selecting TiDB nodes for the Distributed eXecution Framework (DXF) tasksYYYNNNN
PD Follower Proxy (controlled by tidb_enable_tso_follower_proxy)YYYYYYY
Active PD Follower (controlled by pd_enable_follower_handle_region)YENNNNN
PD microservicesEENNNNN
TiDB Distributed eXecution Framework (DXF)YYYENNN
Global SortYYENNNN
TiProxyYYNNNNN
Schema cacheYNNNNNN

  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?