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.57.16.56.15.45.35.25.15.04.0
Numeric typesYYYYYYYYYY
Date and time typesYYYYYYYYYY
String typesYYYYYYYYYY
JSON typeYYYEEEEEEE
Control flow functionsYYYYYYYYYY
String functionsYYYYYYYYYY
Numeric functions and operatorsYYYYYYYYYY
Date and time functionsYYYYYYYYYY
Bit functions and operatorsYYYYYYYYYY
Cast functions and operatorsYYYYYYYYYY
Encryption and compression functionsYYYYYYYYYY
Information functionsYYYYYYYYYY
JSON functionsYYYEEEEEEE
Aggregation functionsYYYYYYYYYY
Window functionsYYYYYYYYYY
Miscellaneous functionsYYYYYYYYYY
OperatorsYYYYYYYYYY
Character sets and collations 1YYYYYYYYYY
User-level lockYYYYNNNNNN

Indexing and constraints

Indexing and constraints7.57.16.56.15.45.35.25.15.04.0
Expression indexes 2YYYEEEEEEE
Columnar storage (TiFlash)YYYYYYYYYY
Use FastScan to accelerate queries in OLAP scenariosYYENNNNNNN
RocksDB engineYYYYYYYYYY
Titan pluginYYYYYYYYYY
Titan Level MergeEEEEEEEEEE
Use buckets to improve scan concurrencyEEEENNNNNN
Invisible indexesYYYYYYYYYN
Composite PRIMARY KEYYYYYYYYYYY
CHECK constraintsYNNNNNNNNN
Unique indexesYYYYYYYYYY
Clustered index on integer PRIMARY KEYYYYYYYYYYY
Clustered index on composite or non-integer keyYYYYYYYYYN
Multi-valued indexesYYNNNNNNNN
Foreign keyEENNNNNNNN
TiFlash late materializationYYNNNNNNNN

SQL statements

SQL statements 37.57.16.56.15.45.35.25.15.04.0
Basic SELECT, INSERT, UPDATE, DELETE, REPLACEYYYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYYYY
LOAD DATA INFILEYYYYYYYYYY
SELECT INTO OUTFILEYYYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYYYY
UNION, UNION ALLYYYYYYYYYY
EXCEPT and INTERSECT operatorsYYYYYYYYYN
GROUP BY, ORDER BYYYYYYYYYYY
Window FunctionsYYYYYYYYYY
Common Table Expressions (CTE)YYYYYYYYNN
START TRANSACTION, COMMIT, ROLLBACKYYYYYYYYYY
EXPLAINYYYYYYYYYY
EXPLAIN ANALYZEYYYYYYYYYY
User-defined variablesEEEEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYYNNNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYYNNNNNNN
ALTER TABLE ... COMPACTYYYENNNNNN
Table LockEEEEEEEEEE
TiFlash Query Result MaterializationYYENNNNNNN

Advanced SQL features

Advanced SQL features7.57.16.56.15.45.35.25.15.04.0
Prepared statement cacheYYYYYYEEEE
Non-prepared statement cacheYENNNNNNNN
SQL plan management (SPM)YYYYYYYYYY
Create bindings according to historical execution plansYYENNNNNNN
Coprocessor cacheYYYYYYYYYE
Stale ReadYYYYYYYYNN
Follower readsYYYYYYYYYY
Read historical data (tidb_snapshot)YYYYYYYYYY
Optimizer hintsYYYYYYYYYY
MPP execution engineYYYYYYYYYN
MPP execution engine - compression exchangeYYNNNNNNNN
TiFlash Pipeline ModelYNNNNNNNNN
TiFlash replica selection strategyYNNNNNNNNN
Index MergeYYYYYEEEEE
Placement Rules in SQLYYYYEENNNN
Cascades PlannerEEEEEEEEEE
Runtime FilterYNNNNNNNNN

Data definition language (DDL)

Data definition language (DDL)7.57.16.56.15.45.35.25.15.04.0
Basic CREATE, DROP, ALTER, RENAME, TRUNCATEYYYYYYYYYY
Generated columnsYYEEEEEEEE
ViewsYYYYYYYYYY
SequencesYYYYYYYYYY
Auto incrementYYY4YYYYYYY
Auto randomYYYYYYYYYY
TTL (Time to Live)YYENNNNNNN
DDL algorithm assertionsYYYYYYYYYY
Multi-schema change: add columnsYYYEEEEEEE
Change column typeYYYYYYYYNN
Temporary tablesYYYYYYNNNN
Concurrent DDL statementsYYYNNNNNNN
Acceleration of ADD INDEX and CREATE INDEXYYYNNNNNNN
Metadata lockYYYNNNNNNN
FLASHBACK CLUSTERYYYNNNNNNN
Pause/Resume DDLYNNNNNNNNN

Transactions

Transactions7.57.16.56.15.45.35.25.15.04.0
Async commitYYYYYYYYYN
1PCYYYYYYYYYN
Large transactions (10GB)YYYYYYYYYY
Pessimistic transactionsYYYYYYYYYY
Optimistic transactionsYYYYYYYYYY
Repeatable-read isolation (snapshot isolation)YYYYYYYYYY
Read-committed isolationYYYYYYYYYY

Partitioning

Partitioning7.57.16.56.15.45.35.25.15.04.0
Range partitioningYYYYYYYYYY
Hash partitioningYYYYYYYYYY
Key partitioningYYNNNNNNNN
List partitioningYYYYEEEEEN
List COLUMNS partitioningYYYYEEEEEN
Default partition for List and List COLUMNS partitioned tablesYNNNNNNNNN
EXCHANGE PARTITIONYYYEEEEEEN
REORGANIZE PARTITIONYYNNNNNNNN
COALESCE PARTITIONYYNNNNNNNN
Dynamic pruningYYYYEEEENN
Range COLUMNS partitioningYYYNNNNNNN
Range INTERVAL partitioningYYENNNNNNN
Convert a partitioned table to a non-partitioned tableYNNNNNNNNN
Partition an existing tableYNNNNNNNNN

Statistics

Statistics7.57.16.56.16.05.45.35.25.15.0
CMSketchDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultYYY
HistogramsYYYYYYYYYY
Extended statisticsEEEEEEEEEE
Statistics feedbackNNNDeprecatedDeprecatedDeprecatedEEEE
Automatically update statisticsYYYYYYYYYY
Dynamic pruningYYYYEEEEEN
Collect statistics for PREDICATE COLUMNSEEEEEENNNN
Control the memory quota for collecting statisticsEEEENNNNNN
Randomly sample about 10000 rows of data to quickly build statisticsDeprecatedEEEEEEEEE
Lock statisticsYEENNNNNNN
Lightweight statistics initializationYENNNNNNNN
Show the progress of collecting statisticsYNNNNNNNNN

Security

Security7.57.16.56.15.45.35.25.15.04.0
Transparent layer security (TLS)YYYYYYYYYY
Encryption at rest (TDE)YYYYYYYYYY
Role-based authentication (RBAC)YYYYYYYYYY
Certificate-based authenticationYYYYYYYYYY
caching_sha2_password authenticationYYYYYYYNNN
tidb_sm3_password authenticationYYYNNNNNNN
tidb_auth_token authenticationYYYNNNNNNN
authentication_ldap_sasl authenticationYNNNNNNNN
authentication_ldap_simple authenticationYYNNNNNNNN
Password managementYYYNNNNNNN
MySQL compatible GRANT systemYYYYYYYYYY
Dynamic PrivilegesYYYYYYYYNN
Security Enhanced ModeYYYYYYYYNN
Redacted Log FilesYYYYYYYYYN

Data import and export

Data import and export7.57.16.56.15.45.35.25.15.04.0
Fast import using TiDB LightningYYYYYYYYYY
Fast import using the IMPORT INTO statementYNNNNNNNNN
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYYYYY
Transactional LOAD DATA 5YYYYYYYYYN 6
Database migration toolkit (DM)YYYYYYYYYY
TiDB Binlog 7YYYYYYYYYY
Change data capture (CDC)YYYYYYYYYY
Stream data to Amazon S3, GCS, Azure Blob Storage, and NFS through TiCDCYYENNNNNNN
TiCDC supports bidirectional replication between two TiDB clustersYYYNNNNNNN
TiCDC OpenAPI v2YYNNNNNNNN

Management, observability, and tools

Management, observability, and tools7.57.16.56.15.45.35.25.15.04.0
TiDB Dashboard UIYYYYYYYYYY
TiDB Dashboard Continuous ProfilingYYYYEENNNN
TiDB Dashboard Top SQLYYYYENNNNN
TiDB Dashboard SQL DiagnosticsYYYEEEEEEE
TiDB Dashboard Cluster DiagnosticsYYYEEEEEEE
TiKV-FastTune dashboardEEEEEEEEEE
Information schemaYYYYYYYYYY
Metrics schemaYYYYYYYYYY
Statements summary tablesYYYYYYYYYY
Statements summary tables - summary persistenceEENNNNNNNN
Slow query logYYYYYYYYYY
TiUP deploymentYYYYYYYYYY
Kubernetes operatorYYYYYYYYYY
Built-in physical backupYYYYYYYYYY
Global KillYYYYEEEEEE
Lock ViewYYYYYYYEEE
SHOW CONFIGYYYYYYYYYY
SET CONFIGYYYYEEEEEE
DM WebUIEEEENNNNNN
Foreground Quota LimiterYYYENNNNNN
Background Quota LimiterEEENNNNNNN
EBS volume snapshot backup and restoreYYYNNNNNNN
PITRYYYNNNNNNN
Global memory controlYYYNNNNNNN
Cross-cluster RawKV replicationEEENNNNNNN
Green GCEEEEEEEEEN
Resource controlYYNNNNNNNN
Runaway Queries managementENNNNNNNNN
Background tasks managementENNNNNNNNN
TiFlash Disaggregated Storage and Compute Architecture and S3 SupportYENNNNNNNN
Selecting TiDB nodes for the Distributed eXecution Framework (DXF) tasksYNNNNNNNNN

  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.

Was this page helpful?