TiDB Experimental Features
This document introduces the experimental features of TiDB in different versions. It is NOT recommended to use these features in the production environment.
Performance
- Support collecting statistics for
PREDICATE COLUMNS
(Introduced in v5.4) - Control the memory quota for collecting statistics. (Introduced in v6.1.0)
- Cost Model Version 2. (Introduced in v6.2.0)
- FastScan. (Introduced in v6.2.0)
- Extended statistics. (Introduced in v5.0.0)
- Randomly sample about 10000 rows of data to quickly build statistics (Introduced in v3.0)
- Globally control the memory usage of a tidb-server instance. (Introduced in v6.4.0)
Stability
- Improve the stability of the optimizer's choice of indexes: extend the statistics feature by collecting the multi-column order dependency information (Introduced in v5.0).
- Background Quota Limiter (Introduced in v6.2.0): You can use the background quota-related configuration items to limit the CPU resources to be used by the background. When a request triggers Quota Limiter, the request is forced to wait for a while for TiKV to free up CPU resources.
Scheduling
Elastic scheduling feature. It enables the TiDB cluster to dynamically scale out and in on Kubernetes based on real-time workloads, which effectively reduces the stress during your application's peak hours and saves overheads. See Enable TidbCluster Auto-scaling for details. (Introduced in v4.0)
SQL
- The expression index feature. The expression index is also called the function-based index. When you create an index, the index fields do not have to be a specific column but can be an expression calculated from one or more columns. This feature is useful for quickly accessing the calculation-based tables. See Expression index for details. (Introduced in v4.0)
- Generated Columns (Introduced in v2.1)
- User-Defined Variables (Introduced in v2.1)
- Cascades Planner: a cascades framework-based top-down query optimizer (Introduced in v3.0)
- Table Lock (Introduced in v4.0.0)
- Metadata Lock (Introduced in v6.3.0)
- Range INTERVAL partitioning (Introduced in v6.3.0)
- Add index acceleration (Introduced in v6.3.0)
- Restore a cluster to a specific point in time using the
FLASHBACK CLUSTER TO TIMESTAMP
syntax (Introduced in v6.4.0) AUTO_INCREMENT
MySQL compatibility mode (Introduced in v6.4.0)
Storage
- Titan Level Merge (Introduced in v4.0)
- Divide Regions are divided into buckets. Buckets are used as the unit of concurrent query to improve the scan concurrency. (Introduced in v6.1.0)
Backup and restoration
- Back up and restore RawKV (Introduced in v3.1)
Data migration
- Use WebUI to manage migration tasks in DM. (Introduced in v6.0)
- Configure disk quota for TiDB Lightning. (Introduced in v6.2.0)
- Continuous Data Validation in DM (Introduced in v6.2.0)
Data share subscription
- Cross-cluster RawKV replication (Introduced in v6.2.0)
Garbage collection
- Green GC (Introduced in v5.0)
Diagnostics
- TiKV-FastTune dashboard (Introduced in v4.0)