Skip to content

Latest commit

 

History

History
208 lines (179 loc) · 29.3 KB

basic-features.md

File metadata and controls

208 lines (179 loc) · 29.3 KB
title summary aliases
TiDB Features
Learn about the basic features of TiDB.
/docs/dev/basic-features/

TiDB Features

This document lists the features supported in each TiDB version. Note that supports for experimental features might change before the final release.

Data types, functions, and operators

Data types, functions, and operators 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Numeric types Y Y Y Y Y Y Y Y Y Y Y Y
Date and time types Y Y Y Y Y Y Y Y Y Y Y Y
String types Y Y Y Y Y Y Y Y Y Y Y Y
JSON type Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Control flow functions Y Y Y Y Y Y Y Y Y Y Y Y
String functions Y Y Y Y Y Y Y Y Y Y Y Y
Numeric functions and operators Y Y Y Y Y Y Y Y Y Y Y Y
Date and time functions Y Y Y Y Y Y Y Y Y Y Y Y
Bit functions and operators Y Y Y Y Y Y Y Y Y Y Y Y
Cast functions and operators Y Y Y Y Y Y Y Y Y Y Y Y
Encryption and compression functions Y Y Y Y Y Y Y Y Y Y Y Y
Information functions Y Y Y Y Y Y Y Y Y Y Y Y
JSON functions Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Aggregation functions Y Y Y Y Y Y Y Y Y Y Y Y
Window functions Y Y Y Y Y Y Y Y Y Y Y Y
Miscellaneous functions Y Y Y Y Y Y Y Y Y Y Y Y
Operators Y Y Y Y Y Y Y Y Y Y Y Y
Character sets and collations 1 Y Y Y Y Y Y Y Y Y Y Y Y
User-level lock Y Y Y Y Y N N N N N N N

Indexing and constraints

Indexing and constraints 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Expression indexes 2 Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Columnar storage (TiFlash) Y Y Y Y Y Y Y Y Y Y Y Y
RocksDB engine Y Y Y Y Y Y Y Y Y Y Y Y
Titan plugin Y Y Y Y Y Y Y Y Y Y Y Y
Invisible indexes Y Y Y Y Y Y Y Y Y Y Y N
Composite PRIMARY KEY Y Y Y Y Y Y Y Y Y Y Y Y
Unique indexes Y Y Y Y Y Y Y Y Y Y Y Y
Clustered index on integer PRIMARY KEY Y Y Y Y Y Y Y Y Y Y Y Y
Clustered index on composite or non-integer key Y Y Y Y Y Y Y Y Y Y Y N

SQL statements

SQL statements 3 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Basic SELECT, INSERT, UPDATE, DELETE, REPLACE Y Y Y Y Y Y Y Y Y Y Y Y
INSERT ON DUPLICATE KEY UPDATE Y Y Y Y Y Y Y Y Y Y Y Y
LOAD DATA INFILE Y Y Y Y Y Y Y Y Y Y Y Y
SELECT INTO OUTFILE Y Y Y Y Y Y Y Y Y Y Y Y
INNER JOIN, LEFT|RIGHT [OUTER] JOIN Y Y Y Y Y Y Y Y Y Y Y Y
UNION, UNION ALL Y Y Y Y Y Y Y Y Y Y Y Y
EXCEPT and INTERSECT operators Y Y Y Y Y Y Y Y Y Y Y N
GROUP BY, ORDER BY Y Y Y Y Y Y Y Y Y Y Y Y
Window Functions Y Y Y Y Y Y Y Y Y Y Y Y
Common Table Expressions (CTE) Y Y Y Y Y Y Y Y Y Y N N
START TRANSACTION, COMMIT, ROLLBACK Y Y Y Y Y Y Y Y Y Y Y Y
EXPLAIN Y Y Y Y Y Y Y Y Y Y Y Y
EXPLAIN ANALYZE Y Y Y Y Y Y Y Y Y Y Y Y
User-defined variables Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
BATCH [ON COLUMN] LIMIT INTEGER DELETE Y Y Y Y Y N N N N N N N
BATCH [ON COLUMN] LIMIT INTEGER INSERT/UPDATE/REPLACE Y N N N N N N N N N N N
ALTER TABLE ... COMPACT Y Y Y Y Experimental N N N N N N N

Advanced SQL features

Advanced SQL features 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Prepared statement cache Y Y Y Y Y Y Y Y Experimental Experimental Experimental Experimental
SQL plan management (SPM) Y Y Y Y Y Y Y Y Y Y Y Y
Coprocessor cache Y Y Y Y Y Y Y Y Y Y Y Experimental
Stale Read Y Y Y Y Y Y Y Y Y Y N N
Follower reads Y Y Y Y Y Y Y Y Y Y Y Y
Read historical data (tidb_snapshot) Y Y Y Y Y Y Y Y Y Y Y Y
Optimizer hints Y Y Y Y Y Y Y Y Y Y Y Y
MPP Execution Engine Y Y Y Y Y Y Y Y Y Y Y N
Index Merge Y Y Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental
Placement Rules in SQL Y Y Y Y Y Y Experimental Experimental N N N N

Data definition language (DDL)

Data definition language (DDL) 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Basic CREATE, DROP, ALTER, RENAME, TRUNCATE Y Y Y Y Y Y Y Y Y Y Y Y
Generated columns Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Views Y Y Y Y Y Y Y Y Y Y Y Y
Sequences Y Y Y Y Y Y Y Y Y Y Y Y
Auto increment Y Y 4 Y Y Y Y Y Y Y Y Y Y
Auto random Y Y Y Y Y Y Y Y Y Y Y Y
TTL (Time to Live) Experimental N N N N N N N N N N N
DDL algorithm assertions Y Y Y Y Y Y Y Y Y Y Y Y
Multi-schema change: add columns Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Change column type Y Y Y Y Y Y Y Y Y Y N N
Temporary tables Y Y Y Y Y Y Y Y N N N N
Concurrent DDL statements Y Y Y Y N N N N N N N N
Acceleration of ADD INDEX and CREATE INDEX Y Experimental Experimental N N N N N N N N N
Metadata lock Y Experimental Experimental N N N N N N N N N
FLASHBACK CLUSTER TO TIMESTAMP Y Experimental N N N N N N N N N N

Transactions

Transactions 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Async commit Y Y Y Y Y Y Y Y Y Y Y N
1PC Y Y Y Y Y Y Y Y Y Y Y N
Large transactions (10GB) Y Y Y Y Y Y Y Y Y Y Y Y
Pessimistic transactions Y Y Y Y Y Y Y Y Y Y Y Y
Optimistic transactions Y Y Y Y Y Y Y Y Y Y Y Y
Repeatable-read isolation (snapshot isolation) Y Y Y Y Y Y Y Y Y Y Y Y
Read-committed isolation Y Y Y Y Y Y Y Y Y Y Y Y

Partitioning

Partitioning 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Range partitioning Y Y Y Y Y Y Y Y Y Y Y Y
Hash partitioning Y Y Y Y Y Y Y Y Y Y Y Y
List partitioning Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental N
List COLUMNS partitioning Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental N
EXCHANGE PARTITION Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental N
Dynamic pruning Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental N N
Range COLUMNS partitioning Y Y Y N N N N N N N N N
Range INTERVAL partitioning Experimental Experimental Experimental N N N N N N N N N

Statistics

Statistics 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
CMSketch Disabled by default Disabled by default Disabled by default Disabled by default Disabled by default Disabled by default Disabled by default Disabled by default Y Y Y Y
Histograms Y Y Y Y Y Y Y Y Y Y Y Y
Extended statistics Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental N
Statistics feedback N N N N Deprecated Deprecated Deprecated Experimental Experimental Experimental Experimental Experimental
Automatically update statistics Y Y Y Y Y Y Y Y Y Y Y Y
Fast Analyze Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Dynamic pruning Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental N N

Security

Security 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Transparent layer security (TLS) Y Y Y Y Y Y Y Y Y Y Y Y
Encryption at rest (TDE) Y Y Y Y Y Y Y Y Y Y Y Y
Role-based authentication (RBAC) Y Y Y Y Y Y Y Y Y Y Y Y
Certificate-based authentication Y Y Y Y Y Y Y Y Y Y Y Y
caching_sha2_password authentication Y Y Y Y Y Y Y Y Y N N N
tidb_sm3_password authentication Y Y Y N N N N N N N N N
tidb_auth_token authentication Y Y N N N N N N N N N N
Password management Y N N N N N N N N N N N
MySQL compatible GRANT system Y Y Y Y Y Y Y Y Y Y Y Y
Dynamic Privileges Y Y Y Y Y Y Y Y Y Y N N
Security Enhanced Mode Y Y Y Y Y Y Y Y Y Y N N
Redacted Log Files Y Y Y Y Y Y Y Y Y Y Y N

Data import and export

Data import and export 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Fast Importer (TiDB Lightning) Y Y Y Y Y Y Y Y Y Y Y Y
mydumper logical dumper Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated
Dumpling logical dumper Y Y Y Y Y Y Y Y Y Y Y Y
Transactional LOAD DATA Y Y Y Y Y Y Y Y Y Y Y N 5
Database migration toolkit (DM) Y Y Y Y Y Y Y Y Y Y Y Y
TiDB Binlog Y Y Y Y Y Y Y Y Y Y Y Y
Change data capture (CDC) Y Y Y Y Y Y Y Y Y Y Y Y
Stream data to Amazon S3, Azure Blob Storage, and NFS through TiCDC Experimental N N N N N N N N N N N
TiCDC supports bidirectional replication between two TiDB clusters Y N N N N N N N N N N N

Management, observability, and tools

Management, observability, and tools 6.5 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
TiDB Dashboard UI Y Y Y Y Y Y Y Y Y Y Y Y
TiDB Dashboard Continuous Profiling Y Y Y Y Y Y Experimental Experimental N N N N
TiDB Dashboard Top SQL Y Y Y Y Y Y Experimental N N N N N
TiDB Dashboard SQL Diagnostics Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
TiDB Dashboard Cluster Diagnostics Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Information schema Y Y Y Y Y Y Y Y Y Y Y Y
Metrics schema Y Y Y Y Y Y Y Y Y Y Y Y
Statements summary tables Y Y Y Y Y Y Y Y Y Y Y Y
Slow query log Y Y Y Y Y Y Y Y Y Y Y Y
TiUP deployment Y Y Y Y Y Y Y Y Y Y Y Y
Kubernetes operator Y Y Y Y Y Y Y Y Y Y Y Y
Built-in physical backup Y Y Y Y Y Y Y Y Y Y Y Y
Global Kill Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Lock View Y Y Y Y Y Y Y Y Y Experimental Experimental Experimental
SHOW CONFIG Y Y Y Y Y Y Y Y Y Y Y Y
SET CONFIG Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental
DM WebUI Experimental Experimental Experimental Experimental Experimental Experimental N N N N N N
Foreground Quota Limiter Y Y Y Y Experimental Experimental N N N N N N
EBS volume snapshot backup and restore Y Y N N N N N N N N N N
PITR Y Y Y Y N N N N N N N N
Global memory control Y Experimental N N N N N N N N N N

Footnotes

  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.