You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On January 19, 2019, TiDB 3.0 Beta is released. The corresponding TiDB Ansible 3.0 Beta is also released. TiDB 3.0 Beta builds on TiDB 2.1 with an added focus in stability, the SQL optimizer, statistics, and the execution engine.
TiDB
New Features
Support Views
Support Window Functions
Support Range Partitioning
Support Hash Partitioning
SQL Optimizer
Re-support the optimization rule of AggregationElimination#7676
Optimize the NOT EXISTS subquery and convert it to Anti Semi Join #7842
Add the tidb_enable_cascades_planner variable to support the new Cascades optimizer. Currently, the Cascades optimizer is not yet fully implemented and is turned off by default #7879
Optimize the constant propagation on the Outer Join, so that the filtering conditions related to the Outer table in the Join result can be pushed down through the Outer Join to the Outer table, reducing the useless calculation of the Outer Join and improving the execution performance #7794
Adjust the optimization rule of Projection Elimination to the position after the Aggregation Elimination, to avoid redundant Project operators #7909
Optimize the IFNULL function and eliminate this function when the input parameter has a non-NULL attribute #7924
Support Range for _tidb_rowid construction queries, to avoid full table scan and reduce cluster stress #8047
Optimize the IN subquery to do the Inner Join after the aggregation, and add the tidb_opt_insubq_to_join_and_agg variable to control whether to enable this optimization rule and open it by default #7531
Support using subqueries in the DO statement #8343
Add the optimization rule of Outer Join elimination to reduce unnecessary table scan and Join operations and improve execution performance #8021
Modify the Hint behavior of the TIDB_INLJ optimizer, and the optimizer will use the table specified in Hint as the Inner table of Index Join #8243
Use PointGet in a wide range so that it can be used when the execution plan cache of the Prepare statement takes effect #8108
Introduce the greedy Join Reorder algorithm to optimize the join order selection when joining multiple tables #8394
Add the tidb_init_chunk_size variable to control the size of the initial Chunk used by the execution engine #8480
Improve shard_row_id_bits and cross-check the auto-increment ID #8936
Prepare Statement
Prohibit adding the Prepare statement containing subqueries to the query plan cache to guarantee the query plan is correct when different user variables are input #8064
Optimize the query plan cache to guarantee the plan can be cached when the statement contains non-deterministic functions #8105
Optimize the query plan cache to guarantee the query plan of DELETE/UPDATE/INSERT can be cached #8107
Optimize the query plan cache to remove the corresponding plan when executing the DEALLOCATE statement #8332
Optimize the query plan cache to avoid the TiDB OOM issue caused by caching too many plans by limiting the memory usage #8339
Optimize the Prepare statement to support using the ? placeholder in the ORDER BY/GROUP BY/LIMIT clause #8206
Privilege Management
Add the privilege check for the ANALYZE statement #8486
Add the privilege check for the USE statement #8414
Add the privilege check for the SET GLOBAL statement #8837
Add the privilege check for the SHOW PROCESSLIST statement #7858
Support using the unsigned bigint column as the auto-increment column #8181
Support the SHOW CREATE DATABASE IF NOT EXISTS syntax #8926
Abandon the predicate pushdown operation when the filtering condition contains a user variable to improve the compatibility with MySQL’s behavior of using user variables to mock the Window Function behavior #8412
DDL
Support fast recovery of mistakenly deleted tables #7937
Support adjusting the number of concurrencies of ADD INDEX dynamically #8295
Support changing the character set of tables or columns to utf8/utf8mb4#8037
Change the default character set from utf8 to utf8mb4#7965