tidb v3.0.0-rc.1 Release Notes

Release Date: 2019-05-10 // almost 5 years ago
  • โšก๏ธ SQL Optimizer

    • Improve the accuracy of cost estimates by using order correlation between columns; introduce a heuristic parameter tidb_opt_correlation_exp_factor to control the preference for index scans for scenarios when correlation cannot be directly used for estimation. #9839
    • Match more prefix columns of the indexes when extracting access conditions of composite indexes if there are relevant columns in the filter #10053
    • Use the dynamic programming algorithm to specify the execution order of join operations when the number of tables participating in the join is less than the value of tidb_opt_join_reorder_threshold. #8816
    • ๐Ÿ— Match more prefix columns of the indexes in the inner tables that build the index join when using composite indexes as the access conditions #8471
    • ๐Ÿ‘Œ Improve the accuracy of row count estimation for single-column indexes with NULL values #9474
    • Specially handle GROUP_CONCAT when eliminating aggregate functions during the logical optimization phase to prevent incorrect executions #9967
    • Properly push the filter down to child nodes of the join operator if the filter is a constant #9848
    • Specially handle some functions such as RAND() when pruning columns during the logical optimization phase to prevent incompatibilities with MySQL #10064
    • Support FAST ANALYZE, which speeds up statistics collection by sampling the region instead of scanning the entire region. This feature is controlled by the variable tidb_enable_fast_analyze. #10258
    • ๐Ÿ‘Œ Support SQL Plan Management, which ensures execution stability by performing execution plan binding for SQL statements. This feature is currently in beta and only supports bound execution plans for SELECT statements. It is not recommended to use it in the production environment. #10284 ### Execution Engine
    • ๐Ÿ‘Œ Support tracking and controlling memory usage in three operators - TableReader, IndexReader and IndexLookupReader #10003
    • ๐Ÿ‘Œ Support showing more information about coprocessor tasks in the slow log such as the number of tasks in coprocessor, the average/longest/90% of execution/waiting time and the addresses of the TiKVs which take the longest execution time or waiting time #10165
    • ๐Ÿ‘Œ Support the prepared DDL statements with no placeholders #10144 ### Server
    • Only allow the DDL owner to execute bootstrap when TiDB is started #10029
    • Add the variable tidb_skip_isolation_level_check to prevent TiDB from reporting errors when setting the transaction isolation level to SERIALIZABLE #10065
    • ๐Ÿ”€ Merge the implicit commit time and the SQL execution time in the slow log #10294
    • ๐Ÿ‘Œ Support for SQL Roles (RBAC Privilege Management)
      • Support SHOW GRANT #10016
      • Support SET DEFAULT ROLE #9949
      • Support GRANT ROLE #9721
    • ๐Ÿ›  Fix the ConnectionEvent error from the whitelist plugin that makes TiDB exit #9889
    • ๐Ÿ›  Fix the issue of mistakenly adding read-only statements to the transaction history #9723
    • ๐Ÿ‘Œ Improve kill statements to stop SQL execution and release resources more quickly #9844
    • โž• Add a startup option config-check to check the validity of the configuration file #9855
    • ๐Ÿ›  Fix the validity check of inserting NULL fields when the strict SQL mode is disabled #10161 ### DDL
    • Add the pre_split_regions option for CREATE TABLE statements; this option supports pre-splitting the Table Region when creating a table to avoid write hot spots caused by lots of writes after the table creation #10138
    • ๐ŸŽ Optimize the execution performance of some DDL statements #10170
    • โž• Add the warning that full-text indexes are not supported for FULLTEXT KEY #9821
    • ๐Ÿ›  Fix the compatibility issue for the UTF8 and UTF8MB4 charsets in the old versions of TiDB #9820
    • Fix the potential bug in shard_row_id_bits of a table #9868
    • ๐Ÿ›  Fix the bug that the column charset is not changed after the table charset is changed #9790
    • ๐Ÿ›  Fix a potential bug in SHOW COLUMN when using BINARY/BIT as the column default value #9897
    • ๐Ÿ›  Fix the compatibility issue in displaying CHARSET/COLLATION descriptions in the SHOW FULL COLUMNS statement #10007
    • ๐Ÿ›  Fix the issue that the SHOW COLLATIONS statement only lists collations supported by TiDB #10186