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.16.56.15.45.35.25.15.04.0
Numeric typesYYYYYYYYY
Date and time typesYYYYYYYYY
String typesYYYYYYYYY
JSON typeYYEEEEEEE
Control flow functionsYYYYYYYYY
String functionsYYYYYYYYY
Numeric functions and operatorsYYYYYYYYY
Date and time functionsYYYYYYYYY
Bit functions and operatorsYYYYYYYYY
Cast functions and operatorsYYYYYYYYY
Encryption and compression functionsYYYYYYYYY
Information functionsYYYYYYYYY
JSON functionsYYEEEEEEE
Aggregation functionsYYYYYYYYY
Window functionsYYYYYYYYY
Miscellaneous functionsYYYYYYYYY
OperatorsYYYYYYYYY
Character sets and collations 1YYYYYYYYY
User-level lockYYYNNNNNN

Indexing and constraints

Indexing and constraints7.16.56.15.45.35.25.15.04.0
Expression indexes 2YYEEEEEEE
Columnar storage (TiFlash)YYYYYYYYY
Use FastScan to accelerate queries in OLAP scenariosYENNNNNNN
RocksDB engineYYYYYYYYY
Titan pluginYYYYYYYYY
Titan Level MergeEEEEEEEEE
Use buckets to improve scan concurrencyEEENNNNNN
Invisible indexesYYYYYYYYN
Composite PRIMARY KEYYYYYYYYYY
Unique indexesYYYYYYYYY
Clustered index on integer PRIMARY KEYYYYYYYYYY
Clustered index on composite or non-integer keyYYYYYYYYN
Multi-valued indexesYNNNNNNNN
Foreign keyENNNNNNNN
TiFlash late materializationYNNNNNNNN

SQL statements

SQL statements 37.16.56.15.45.35.25.15.04.0
Basic SELECT, INSERT, UPDATE, DELETE, REPLACEYYYYYYYYY
INSERT ON DUPLICATE KEY UPDATEYYYYYYYYY
LOAD DATA INFILEYYYYYYYYY
SELECT INTO OUTFILEYYYYYYYYY
INNER JOIN, LEFT|RIGHT [OUTER] JOINYYYYYYYYY
UNION, UNION ALLYYYYYYYYY
EXCEPT and INTERSECT operatorsYYYYYYYYN
GROUP BY, ORDER BYYYYYYYYYY
Window FunctionsYYYYYYYYY
Common Table Expressions (CTE)YYYYYYYNN
START TRANSACTION, COMMIT, ROLLBACKYYYYYYYYY
EXPLAINYYYYYYYYY
EXPLAIN ANALYZEYYYYYYYYY
User-defined variablesEEEEEEEEE
BATCH [ON COLUMN] LIMIT INTEGER DELETEYYYNNNNNN
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACEYYNNNNNNN
ALTER TABLE ... COMPACTYYENNNNNN
Table LockEEEEEEEEE
TiFlash Query Result MaterializationYENNNNNNN

Advanced SQL features

Advanced SQL features7.16.56.15.45.35.25.15.04.0
Prepared statement cacheYYYYYEEEE
Non-prepared statement cacheENNNNNNNN
SQL plan management (SPM)YYYYYYYYY
Create bindings according to historical execution plansYENNNNNNN
Coprocessor cacheYYYYYYYYE
Stale ReadYYYYYYYNN
Follower readsYYYYYYYYY
Read historical data (tidb_snapshot)YYYYYYYYY
Optimizer hintsYYYYYYYYY
MPP execution engineYYYYYYYYN
MPP execution engine - compression exchangeYNNNNNNNN
Index MergeYYYYEEEEE
Placement Rules in SQLYYYEENNNN
Cascades PlannerEEEEEEEEE

Data definition language (DDL)

Data definition language (DDL)7.16.56.15.45.35.25.15.04.0
Basic CREATE, DROP, ALTER, RENAME, TRUNCATEYYYYYYYYY
Generated columnsYEEEEEEEE
ViewsYYYYYYYYY
SequencesYYYYYYYYY
Auto incrementYY4YYYYYYY
Auto randomYYYYYYYYY
TTL (Time to Live)YENNNNNNN
DDL algorithm assertionsYYYYYYYYY
Multi-schema change: add columnsYYEEEEEEE
Change column typeYYYYYYYNN
Temporary tablesYYYYYNNNN
Concurrent DDL statementsYYNNNNNNN
Acceleration of ADD INDEX and CREATE INDEXYYNNNNNNN
Metadata lockYYNNNNNNN
FLASHBACK CLUSTERYYNNNNNNN

Transactions

Transactions7.16.56.15.45.35.25.15.04.0
Async commitYYYYYYYYN
1PCYYYYYYYYN
Large transactions (10GB)YYYYYYYYY
Pessimistic transactionsYYYYYYYYY
Optimistic transactionsYYYYYYYYY
Repeatable-read isolation (snapshot isolation)YYYYYYYYY
Read-committed isolationYYYYYYYYY

Partitioning

Partitioning7.16.56.15.45.35.25.15.04.0
Range partitioningYYYYYYYYY
Hash partitioningYYYYYYYYY
Key partitioningYNNNNNNNN
List partitioningYYYEEEEEN
List COLUMNS partitioningYYYEEEEEN
EXCHANGE PARTITIONYYEEEEEEN
REORGANIZE PARTITIONYNNNNNNNN
COALESCE PARTITIONYNNNNNNNN
Dynamic pruningYYYEEEENN
Range COLUMNS partitioningYYNNNNNNN
Range INTERVAL partitioningYENNNNNNN

Statistics

Statistics7.16.56.16.05.45.35.25.15.0
CMSketchDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultDisabled by defaultYYY
HistogramsYYYYYYYYY
Extended statisticsEEEEEEEEE
Statistics feedbackNNDeprecatedDeprecatedDeprecatedEEEE
Automatically update statisticsYYYYYYYYY
Dynamic pruningYYYEEEEEN
Collect statistics for PREDICATE COLUMNSEEEEENNNN
Control the memory quota for collecting statisticsEEENNNNNN
Randomly sample about 10000 rows of data to quickly build statisticsEEEEEEEEE
Lock statisticsEENNNNNNN
Lightweight statistics initializationENNNNNNNN

Security

Security7.16.56.15.45.35.25.15.04.0
Transparent layer security (TLS)YYYYYYYYY
Encryption at rest (TDE)YYYYYYYYY
Role-based authentication (RBAC)YYYYYYYYY
Certificate-based authenticationYYYYYYYYY
caching_sha2_password authenticationYYYYYYNNN
tidb_sm3_password authenticationYYNNNNNNN
tidb_auth_token authenticationYYNNNNNNN
authentication_ldap_sasl authenticationYNNNNNNNN
authentication_ldap_simple authenticationYNNNNNNNN
Password managementYYNNNNNNN
MySQL compatible GRANT systemYYYYYYYYY
Dynamic PrivilegesYYYYYYYNN
Security Enhanced ModeYYYYYYYNN
Redacted Log FilesYYYYYYYYN

Data import and export

Data import and export7.16.56.15.45.35.25.15.04.0
Fast Importer (TiDB Lightning)YYYYYYYYY
mydumper logical dumperDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecatedDeprecated
Dumpling logical dumperYYYYYYYYY
Transactional LOAD DATAY 5YYYYYYYN 6
Database migration toolkit (DM)YYYYYYYYY
TiDB BinlogYYYYYYYYY
Change data capture (CDC)YYYYYYYYY
Stream data to Amazon S3, GCS, Azure Blob Storage, and NFS through TiCDCYENNNNNNN
TiCDC supports bidirectional replication between two TiDB clustersYYNNNNNNN
TiCDC OpenAPI v2YNNNNNNNN

Management, observability, and tools

Management, observability, and tools7.16.56.15.45.35.25.15.04.0
TiDB Dashboard UIYYYYYYYYY
TiDB Dashboard Continuous ProfilingYYYEENNNN
TiDB Dashboard Top SQLYYYENNNNN
TiDB Dashboard SQL DiagnosticsYYEEEEEEE
TiDB Dashboard Cluster DiagnosticsYYEEEEEEE
TiKV-FastTune dashboardEEEEEEEEE
Information schemaYYYYYYYYY
Metrics schemaYYYYYYYYY
Statements summary tablesYYYYYYYYY
Statements summary tables - summary persistenceENNNNNNNN
Slow query logYYYYYYYYY
TiUP deploymentYYYYYYYYY
Kubernetes operatorYYYYYYYYY
Built-in physical backupYYYYYYYYY
Global KillYYYEEEEEE
Lock ViewYYYYYYEEE
SHOW CONFIGYYYYYYYYY
SET CONFIGYYYEEEEEE
DM WebUIEEENNNNNN
Foreground Quota LimiterYYENNNNNN
Background Quota LimiterEENNNNNNN
EBS volume snapshot backup and restoreYYNNNNNNN
PITRYYNNNNNNN
Global memory controlYYNNNNNNN
Cross-cluster RawKV replicationEENNNNNNN
Green GCEEEEEEEEN
Resource controlYNNNNNNNN
TiFlash Disaggregated Storage and Compute Architecture and S3 SupportENNNNNNNN

  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. For 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?