| title | summary | aliases | |
|---|---|---|---|
TiDB Features |
Learn about the basic features of TiDB. |
|
The following table provides an overview of the feature development history of TiDB. Note that features under active development might change before the final release.
| Data types, functions, and operators | 5.2 | 5.1 | 5.0 | 4.0 |
|---|---|---|---|---|
| Numeric types | Y | Y | Y | Y |
| Date and time types | Y | Y | Y | Y |
| String types | Y | Y | Y | Y |
| JSON type | Experimental | Experimental | Experimental | Experimental |
| Control flow functions | Y | Y | Y | Y |
| String functions | Y | Y | Y | Y |
| Numeric functions and operators | Y | Y | Y | Y |
| Date and time functions | Y | Y | Y | Y |
| Bit functions and operators | Y | Y | Y | Y |
| Cast functions and operators | Y | Y | Y | Y |
| Encryption and compression functions | Y | Y | Y | Y |
| Information functions | Y | Y | Y | Y |
| JSON functions | Experimental | Experimental | Experimental | Experimental |
| Aggregation functions | Y | Y | Y | Y |
| Window functions | Y | Y | Y | Y |
| Miscellaneous functions | Y | Y | Y | Y |
| Operators | Y | Y | Y | Y |
| Character sets and collations 1 | Y | Y | Y | Y |
| Indexing and constraints | 5.2 | 5.1 | 5.0 | 4.0 |
| Expression indexes | Experimental | Experimental | Experimental | Experimental |
| Columnar storage (TiFlash) | Y | Y | Y | Y |
| RocksDB engine | Y | Y | Y | Y |
| Titan plugin | Y | Y | Y | Y |
| Invisible indexes | Y | Y | Y | N |
Composite PRIMARY KEY |
Y | Y | Y | Y |
| Unique indexes | Y | Y | Y | Y |
Clustered index on integer PRIMARY KEY |
Y | Y | Y | Y |
| Clustered index on composite or non-integer key | Y | Y | Y | N |
| SQL statements 2 | 5.2 | 5.1 | 5.0 | 4.0 |
Basic SELECT, INSERT, UPDATE, DELETE, REPLACE |
Y | Y | Y | Y |
INSERT ON DUPLICATE KEY UPDATE |
Y | Y | Y | Y |
LOAD DATA INFILE |
Y | Y | Y | Y |
SELECT INTO OUTFILE |
Y | Y | Y | Y |
INNER JOIN, LEFT|RIGHT [OUTER] JOIN |
Y | Y | Y | Y |
UNION, UNION ALL |
Y | Y | Y | Y |
EXCEPT and INTERSECT operators |
Y | Y | Y | N |
GROUP BY, ORDER BY |
Y | Y | Y | Y |
| Window Functions | Y | Y | Y | Y |
| Common Table Expressions (CTE) | Y | Y | N | N |
START TRANSACTION, COMMIT, ROLLBACK |
Y | Y | Y | Y |
EXPLAIN |
Y | Y | Y | Y |
EXPLAIN ANALYZE |
Y | Y | Y | Y |
| User-defined variables | Experimental | Experimental | Experimental | Experimental |
| Advanced SQL Features | 5.2 | 5.1 | 5.0 | 4.0 |
| Prepared statement cache | Experimental | Experimental | Experimental | Experimental |
| SQL plan management (SPM) | Y | Y | Y | Y |
| Coprocessor cache | Y | Y | Y | Experimental |
| Stale Read | Y | Y | N | N |
| Follower reads | Y | Y | Y | Y |
| Read historical data (tidb_snapshot) | Y | Y | Y | Y |
| Optimizer hints | Y | Y | Y | Y |
| MPP Exection Engine | Y | Y | Y | N |
| Index Merge Join | Experimental | Experimental | Experimental | Experimental |
| Data definition language (DDL) | 5.2 | 5.1 | 5.0 | 4.0 |
Basic CREATE, DROP, ALTER, RENAME, TRUNCATE |
Y | Y | Y | Y |
| Generated columns | Experimental | Experimental | Experimental | Experimental |
| Views | Y | Y | Y | Y |
| Sequences | Y | Y | Y | Y |
| Auto increment | Y | Y | Y | Y |
| Auto random | Y | Y | Y | Y |
| DDL algorithm assertions | Y | Y | Y | Y |
| Multi schema change: add column(s) | Experimental | Experimental | Experimental | Experimental |
| Change column type | Y | Y | N | N |
| Transactions | 5.2 | 5.1 | 5.0 | 4.0 |
| Async commit | Y | Y | Y | N |
| 1PC | Y | Y | Y | N |
| Large transactions (10GB) | Y | Y | Y | Y |
| Pessimistic transactions | Y | Y | Y | Y |
| Optimistic transactions | Y | Y | Y | Y |
| Repeatable-read isolation (snapshot isolation) | Y | Y | Y | Y |
| Read-committed isolation | Y | Y | Y | Y |
| Partitioning | 5.2 | 5.1 | 5.0 | 4.0 |
| Range partitioning | Y | Y | Y | Y |
| Hash partitioning | Y | Y | Y | Y |
| List partitioning | Experimental | Experimental | Experimental | N |
| List COLUMNS partitioning | Experimental | Experimental | Experimental | N |
EXCHANGE PARTITION |
Experimental | Experimental | Experimental | N |
| Dynamic Pruning | Experimental | Experimental | N | N |
| Statistics | 5.2 | 5.1 | 5.0 | 4.0 |
| CMSketch | Deprecated | Deprecated | Deprecated | Y |
| Histograms | Y | Y | Y | Y |
| Extended statistics (multiple columns) | Experimental | Experimental | Experimental | N |
| Statistics Feedback | Experimental | Experimental | Experimental | Experimental |
| Fast Analyze | Experimental | Experimental | Experimental | Experimental |
| Security | 5.2 | 5.1 | 5.0 | 4.0 |
| Transparent layer security (TLS) | Y | Y | Y | Y |
| Encryption at rest (TDE) | Y | Y | Y | Y |
| Role-based authentication (RBAC) | Y | Y | Y | Y |
| Certificate-based authentication | Y | Y | Y | Y |
caching_sha2_password authentication |
Y | N | N | N |
MySQL compatible GRANT system |
Y | Y | Y | Y |
| Dynamic Privileges | Y | Y | N | N |
| Security Enhanced Mode | Y | Y | N | N |
| Redacted Log Files | Y | Y | Y | N |
| Data import and export | 5.2 | 5.1 | 5.0 | 4.0 |
| Fast Importer (TiDB Lightning) | Y | Y | Y | Y |
| mydumper logical dumper | Deprecated | Deprecated | Deprecated | Deprecated |
| Dumpling logical dumper | Y | Y | Y | Y |
Transactional LOAD DATA |
Y | Y | Y | N |
| Database migration toolkit (DM) | Y | Y | Y | Y |
| TiDB Binlog | Deprecated | Deprecated | Deprecated | Deprecated |
| Change data capture (CDC) | Y | Y | Y | Y |
| Management, observability and tools | 5.2 | 5.1 | 5.0 | 4.0 |
| TiDB Dashboard | Y | Y | Y | Y |
| SQL diagnostics | Experimental | Experimental | Experimental | Experimental |
| Information schema | Y | Y | Y | Y |
| Metrics schema | Y | Y | Y | Y |
| Statements summary tables | Y | Y | Y | Y |
| Slow query log | Y | Y | Y | Y |
| TiUP deployment | Y | Y | Y | Y |
| Ansible deployment | N | N | N | Deprecated |
| Kubernetes operator | Y | Y | Y | Y |
| Built-in physical backup | Y | Y | Y | Y |
| Top SQL | Y | N | N | N |
| Global Kill | Experimental | Experimental | Experimental | Experimental |
| Lock View | Y | Experimental | Experimental | Experimental |
SHOW CONFIG |
Experimental | Experimental | Experimental | Experimental |
SET CONFIG |
Experimental | Experimental | Experimental | Experimental |
Footnotes
-
TiDB incorrectly treats latin1 as a subset of utf8. See TiDB #18955 for more details. ↩
-
See Statement Reference for a full list of SQL statements supported. ↩