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) - Support synchronously loading statistics. (Introduced in v5.4)
- Control the memory quota for collecting statistics. (Introduced in v6.1.0)
- Extended statistics. (Introduced in v5.0.0)
- Randomly sample about 10000 rows of data to quickly build statistics (Introduced in v3.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).
- When TiKV is deployed with limited resources, if the foreground of TiKV processes too many read and write requests, the CPU resources used by the background are occupied to help process such requests, which affects the performance stability of TiKV. To avoid this situation, you can use the Quota Limiter to limit the CPU resources to be used by the foreground. (Introduced in v6.0)
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)
- JSON data type and JSON functions (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)
ALTER TABLE ... COMPACT
(Introduced in v6.1.0)- Using
ALTER TABLE
to modify multiple columns or indexes (Introduced in v5.0.0)
Storage
- Disable Titan (Introduced in v4.0)
- 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)
- TiKV introduces API V2. (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)
Garbage collection
- Green GC (Introduced in v5.0)
Diagnostics
- SQL diagnostics (Introduced in v4.0)
- Cluster diagnostics (Introduced in v4.0)
- TiKV-FastTune dashboard (Introduced in v4.0)