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.37.27.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

Indexing and constraints7.37.27.16.56.15.45.35.25.15.04.0
Expression indexes 2YYYYEEEEEEE
Columnar storage (TiFlash)YYYYYYYYYYY
Use FastScan to accelerate queries in OLAP scenariosYYYENNNNNNN
RocksDB engineYYYYYYYYYYY
Titan pluginYYYYYYYYYYY
Titan Level MergeEEEEEEEEEEE
Use buckets to improve scan concurrencyEEEEENNNNNN
Invisible indexesYYYYYYYYYYN
Composite PRIMARY KEYYYYYYYYYYYY
CHECK constraintsYYNNNNNNNNN
Unique indexesYYYYYYYYYYY
Clustered index on integer PRIMARY KEYYYYYYYYYYYY
Clustered index on composite or non-integer keyYYYYYYYYYYN
Multi-valued indexesYYYNNNNNNNN
Foreign keyEEENNNNNNNN
TiFlash late materializationYYYNNNNNNNN

SQL statements

SQL statements 37.37.27.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

Advanced SQL features7.37.27.16.56.15.45.35.25.15.04.0
Prepared statement cacheYYYYYYYEEEE
Non-prepared statement cacheEEENNNNNNNN
SQL plan management (SPM)YYYYYYYYYYY
Create bindings according to historical execution plansYYYENNNNNNN
Coprocessor cacheYYYYYYYYYYE
Stale ReadYYYYYYYYYNN
Follower readsYYYYYYYYYYY
Read historical data (tidb_snapshot)YYYYYYYYYYY
Optimizer hintsYYYYYYYYYYY
MPP execution engineYYYYYYYYYYN
MPP execution engine - compression exchangeYYYNNNNNNNN
TiFlash Pipeline ModelEENNNNNNNNN
TiFlash replica selection strategyYNNNNNNNNNN
Index MergeYYYYYYEEEEE
Placement Rules in SQLYYYYYEENNNN
Cascades PlannerEEEEEEEEEEE
Runtime FilterYNNNNNNNNNN

Data definition language (DDL)

Data definition language (DDL)7.37.27.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 CLUSTER TO TIMESTAMPYYYYNNNNNNN
Pause/Resume DDLEENNNNNNNNN

Transactions

Transactions7.37.27.16.56.15.45.35.25.15.04.0
Async commitYYYYYYYYYYN
1PCYYYYYYYYYYN
Large transactions (10GB)YYYYYYYYYYY
Pessimistic transactionsYYYYYYYYYYY
Optimistic transactionsYYYYYYYYYYY
Repeatable-read isolation (snapshot isolation)YYYYYYYYYYY
Read-committed isolationYYYYYYYYYYY

Partitioning

Partitioning7.37.27.16.56.15.45.35.25.15.04.0
Range partitioningYYYYYYYYYYY
Hash partitioningYYYYYYYYYYY
Key partitioningYYYNNNNNNNN
List partitioningYYYYYEEEEEN
List COLUMNS partitioningYYYYYEEEEEN
Default partition for List and List COLUMNS partitioned tablesYNNNNNNNNNN
EXCHANGE PARTITIONYYYYEEEEEEN
REORGANIZE PARTITIONYYYNNNNNNNN
COALESCE PARTITIONYYYNNNNNNNN
Dynamic pruningYYYYYEEEENN
Range COLUMNS partitioningYYYYNNNNNNN
Range INTERVAL partitioningYYYENNNNNNN

Statistics

Statistics7.37.27.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
Fast AnalyzeEEEEEEEEEEE
Dynamic pruningYYYYYEEEEEN
Collect statistics for PREDICATE COLUMNSEEEEEEENNNN
Control the memory quota for collecting statisticsEEEEENNNNNN
Randomly sample about 10000 rows of data to quickly build statisticsEEEEEEEEEEE
Lock statisticsEEEENNNNNNN
Lightweight statistics initializationYYENNNNNNNN
Show the progress of collecting statisticsYNNNNNNNNNN

Security

Security7.37.27.16.56.15.45.35.25.15.04.0
Transparent layer security (TLS)YYYYYYYYYYY
Encryption at rest (TDE)YYYYYYYYYYY
Role-based authentication (RBAC)YYYYYYYYYYY
Certificate-based authenticationYYYYYYYYYYY
caching_sha2_password authenticationYYYYYYYYNNN
tidb_sm3_password authenticationYYYYNNNNNNN
tidb_auth_token authenticationYYYYNNNNNNN
authentication_ldap_sasl authenticationYYYNNNNNNNN
authentication_ldap_simple authenticationYYYNNNNNNNN
Password managementYYYYNNNNNNN
MySQL compatible GRANT systemYYYYYYYYYYY
Dynamic PrivilegesYYYYYYYYYNN
Security Enhanced ModeYYYYYYYYYNN
Redacted Log FilesYYYYYYYYYYN

Data import and export

Data import and export7.37.27.16.56.15.45.35.25.15.04.0
Fast import using TiDB LightningYYYYYYYYYYY
Fast import using the IMPORT INTO statementEENNNNNNNNN
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYYYYYY
Transactional LOAD DATA 5YYYYYYYYYYN 6
Database migration toolkit (DM)YYYYYYYYYYY
TiDB BinlogYYYYYYYYYYY
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

Management, observability, and tools

Management, observability, and tools7.37.27.16.56.15.45.35.25.15.04.0
TiDB Dashboard UIYYYYYYYYYYY
TiDB Dashboard Continuous ProfilingYYYYYEENNNN
TiDB Dashboard Top SQLYYYYYENNNNN
TiDB Dashboard SQL DiagnosticsYYYYEEEEEEE
TiDB Dashboard Cluster DiagnosticsYYYYEEEEEEE
TiKV-FastTune dashboardEEEEEEEEEEE
Information schemaYYYYYYYYYYY
Metrics schemaYYYYYYYYYYY
Statements summary tablesYYYYYYYYYYY
Statements summary tables - summary persistenceEEENNNNNNNN
Slow query logYYYYYYYYYYY
TiUP deploymentYYYYYYYYYYY
Kubernetes operatorYYYYYYYYYYY
Built-in physical backupYYYYYYYYYYY
Global KillYYYYYEEEEEE
Lock ViewYYYYYYYYEEE
SHOW CONFIGYYYYYYYYYYY
SET CONFIGYYYYYEEEEEE
DM WebUIEEEEENNNNNN
Foreground Quota LimiterYYYYENNNNNN
Background Quota LimiterEEEENNNNNNN
EBS volume snapshot backup and restoreYYYYNNNNNNN
PITRYYYYNNNNNNN
Global memory controlYYYYNNNNNNN
Cross-cluster RawKV replicationEEEENNNNNNN
Green GCEEEEEEEEEEN
Resource controlYYYNNNNNNNN
Runaway Queries ManagementEENNNNNNNNN
TiFlash Disaggregated Storage and Compute Architecture and S3 SupportEEENNNNNNNN

  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. For TiDB v4.0, the LOAD DATA transaction does not guarantee atomicity.
  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.