Skip to content

Latest commit

 

History

History
201 lines (173 loc) · 27.3 KB

basic-features.md

File metadata and controls

201 lines (173 loc) · 27.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.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
Date and time types Y Y Y Y Y Y Y Y Y Y Y
String types Y Y Y Y Y Y Y Y Y Y Y
JSON type 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
String functions 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
Date and time functions 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
Cast functions and operators 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
Information functions Y Y Y Y Y Y Y Y Y Y Y
JSON functions Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Aggregation functions Y Y Y Y Y Y Y Y Y Y Y
Window functions Y Y Y Y Y Y Y Y Y Y Y
Miscellaneous functions Y Y Y Y Y Y Y Y Y Y Y
Operators 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
User-level lock Y Y Y Y N N N N N N N

Indexing and constraints

Indexing and constraints 6.4 6.3 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 4.0
Expression indexes Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Columnar storage (TiFlash) Y Y Y Y Y Y Y Y Y Y Y
RocksDB engine Y Y Y Y Y Y Y Y Y Y Y
Titan plugin Y Y Y Y Y Y Y Y Y Y Y
Invisible indexes 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
Unique indexes 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
Clustered index on composite or non-integer key Y Y Y Y Y Y Y Y Y Y N

SQL statements

SQL statements 2 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
INSERT ON DUPLICATE KEY UPDATE 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
SELECT INTO OUTFILE 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
UNION, UNION ALL 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 N
GROUP BY, ORDER BY Y Y Y Y Y Y Y Y Y Y Y
Window Functions Y Y Y Y Y Y Y Y Y Y Y
Common Table Expressions (CTE) 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
EXPLAIN Y Y Y Y Y Y Y Y Y Y Y
EXPLAIN ANALYZE 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
BATCH [ON COLUMN] LIMIT INTEGER DELETE Y Y Y Y N N N N N N N
ALTER TABLE ... COMPACT Y Y Y Experimental N N N N N N N

Advanced SQL features

Advanced SQL features 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 Experimental Experimental Experimental Experimental
SQL plan management (SPM) Y Y Y Y Y Y Y Y Y Y Y
Coprocessor cache Y Y Y Y Y Y Y Y Y Y Experimental
Stale Read Y Y Y Y Y Y Y Y Y N N
Follower reads 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
Optimizer hints Y Y Y Y Y Y Y Y Y Y Y
MPP Execution Engine Y Y Y Y Y Y Y Y Y Y N
Index Merge Y Y Y Y Y Y Experimental Experimental Experimental Experimental Experimental
Placement Rules in SQL Y Y Y Y Y Experimental Experimental N N N N

Data definition language (DDL)

Data definition language (DDL) 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
Generated columns Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Views Y Y Y Y Y Y Y Y Y Y Y
Sequences Y Y Y Y Y Y Y Y Y Y Y
Auto increment Y3 Y Y Y Y Y Y Y Y Y Y
Auto random Y Y Y Y Y Y Y Y Y Y Y
DDL algorithm assertions Y Y Y Y Y Y Y Y Y Y Y
Multi-schema change: add columns Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Change column type Y Y Y Y Y Y Y Y Y N N
Temporary tables Y Y Y Y Y Y Y N N N N
Concurrent DDL statements Y Y Y N N N N N N N N
Acceleration of ADD INDEX and CREATE INDEX Experimental Experimental N N N N N N N N N
Metadata lock Experimental Experimental N N N N N N N N N
FLASHBACK CLUSTER TO TIMESTAMP Experimental N N N N N N N N N N

Transactions

Transactions 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 N
1PC 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
Pessimistic transactions Y Y Y Y Y Y Y Y Y Y Y
Optimistic transactions 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
Read-committed isolation Y Y Y Y Y Y Y Y Y Y Y

Partitioning

Partitioning 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
Hash partitioning Y Y Y Y Y Y Y Y Y Y Y
List partitioning Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental N
List COLUMNS partitioning Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental N
EXCHANGE PARTITION Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental N
Dynamic pruning Y Y Y Y Experimental Experimental Experimental Experimental Experimental N N
Range COLUMNS partitioning Y Y N N N N N N N N N
Range INTERVAL partitioning Experimental Experimental N N N N N N N N N

Statistics

Statistics 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 Y Y Y Y
Histograms Y Y Y Y Y Y Y Y Y Y Y
Extended statistics Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental N
Statistics feedback Deprecated Deprecated Deprecated Deprecated Deprecated Deprecated Experimental Experimental Experimental Experimental Experimental
Automatically update statistics Y Y Y Y Y Y Y Y Y Y Y
Fast Analyze Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Dynamic pruning Y Y Y Y Experimental Experimental Experimental Experimental Experimental N N

Security

Security 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
Encryption at rest (TDE) 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
Certificate-based authentication Y Y Y Y Y Y Y Y Y Y Y
caching_sha2_password authentication Y Y Y Y Y Y Y Y N N N
tidb_sm3_password authentication Y Y N N N N N N N N N
tidb_auth_token authentication Y 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
Dynamic Privileges Y Y Y Y Y Y Y Y Y N N
Security Enhanced Mode Y Y Y Y Y Y Y Y Y N N
Redacted Log Files Y Y Y Y Y Y Y Y Y Y N

Data import and export

Data import and export 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
mydumper logical dumper 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
Transactional LOAD DATA Y Y Y Y Y Y Y Y Y Y N 4
Database migration toolkit (DM) Y Y Y Y Y Y Y Y Y Y Y
TiDB Binlog 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

Management, observability, and tools

Management, observability, and tools 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
TiDB Dashboard Continuous Profiling Y Y Y Y Y Experimental Experimental N N N N
TiDB Dashboard Top SQL Y Y Y Y Y Experimental N N N N N
TiDB Dashboard SQL Diagnostics Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
TiDB Dashboard Cluster Diagnostics Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Information schema Y Y Y Y Y Y Y Y Y Y Y
Metrics schema 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
Slow query log Y Y Y Y Y Y Y Y Y Y Y
TiUP deployment Y Y Y Y Y Y Y Y Y Y Y
Ansible deployment N N N N N N N N N N Deprecated
Kubernetes operator 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
Global Kill Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental
Lock View Y Y Y Y Y Y Y Y Experimental Experimental Experimental
SHOW CONFIG Y Y Y Y Y Y Y Y Y Y Y
SET CONFIG Y Y Y Y Experimental Experimental Experimental Experimental Experimental Experimental Experimental
DM WebUI Experimental Experimental Experimental Experimental Experimental N N N N N N
Foreground Quota Limiter Y Y Y Experimental Experimental N N N N N N
EBS volume snapshot backup and restore Y N N N N N N N N N N
PITR Y Y Y 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. See Statement Reference for a full list of SQL statements supported.

  3. Starting from v6.4.0, TiDB supports high-performance and globally monotonic AUTO_INCREMENT columns

  4. For TiDB v4.0, the LOAD DATA transaction does not guarantee atomicity.