tidb v4.0.0-beta Release Notes
Release Date: 2020-01-17 // over 4 years ago-
π Improvements
- Increase the accuracy of calculating the cost of
Index Join
by considering the row counts of both driving tables and driven tables #12085 - π Improve the performance when the columns involved in a query can be fully covered by indexes #12022
- π Improve the performance of table query by supporting the Index Merge feature #10121 #10512 #11245 #12225 #12248 #12305 #12843
- π Improve the performance of Range calculation and reduce the CPU overhead by caching index results and eliminating duplicate results #12856
- π Decouple the level of slow logs from the level of ordinary logs #12359
- 0οΈβ£ Increase the default value of the
query-log-max-len
parameter to4096
to reduce the number of truncated SQL outputs. This parameter can be adjusted dynamically. #12491 - Convert a narrow data range of the discrete type into
point set
and useCMSketch
to improve the estimation accuracy when estimating the number of rows #11524 - Extract the
TopN
information fromCMSketch
for normalAnalyze
and separately maintain the frequently occurring values #11409 - π Support dynamically adjusting the depth and width of
CMSketch
and the number ofTopN
information #11278 - π Support automatically capturing and evolving SQL Binding #13199
- π Optimize the encoding format of communication with TiKV by using
Chunk
to improve communication performance #12023 #12536 #12613 #12621 #12899 #13060 #13349 - π Support the new row store format to improve the performance of the wide table #12634
- π Improve the stability of
Kill
#10841 - π Improve the performance of
IndexLookupJoin
and reduce memory consumption during execution by splittingIndexLookupJoin
intoIndexHashJoin
andIndexMergeJoin
#8861 #12139 #12349 #13238 #13451 #13714 - π² Output the detailed
backoff
information of TiKV RPC in the slow log to facilitate troubleshooting #13770 - β‘οΈ Optimize and unify the format of the memory statistics in the expensive log #12809
- β‘οΈ Optimize the explicit format of
EXPLAIN
and support outputting information about the operatorβs usage of memory and disk - Optimize the check for duplicate values in
LOAD DATA
based on the transaction size and support setting the transaction size by configuring thetidb_dml_batch_size
parameter #11132 - β‘οΈ Optimize the
Recover Binlog
interface to ensure waiting all transactions to be committed before returning to the client #13740 - π Optimize the performance of
LOAD DATA
by separating the data preparing routine and the commit routine and assigning the workload to different Workers #11533 #11284
π New Features
- π Support using the
LIKE
orWHERE
clause inADMIN SHOW DDL JOBS
for conditional filtering #12484 - Add the
TIDB_ROW_ID_SHARDING_INFO
column in theinformation_schema.tables
table to output theRowID
scattering information (for example, the value of theSHARD_ROW_ID_BITS
column in tableA
is"SHARD_BITS={bit_number}"
) #13418 - β Add the
oom-use-tmp-storage
parameter (true
by default) to control whether to use temporary files to cache intermediate results when the memory usage for the execution of a single SQL statement exceedsmem-quota-query
and the SQL containsHash Join
#11832 #11937 #12116 #12067 - π Support querying the binlog statuses enabled by TiDB servers in the cluster through the HTTP
info/all
interface #13025 - π Support adding the
AutoRandom
keyword in the column attribute to control whether the system automatically assigns a random integer to the primary key, which avoids the hotspot problem caused by theAUTO_INCREMENT
primary key #13127 - π Support Table Locks #11038
- π Support the MySQL-compatible
Read Committed
transaction isolation level when using the pessimistic transaction mode #14087 - π Support large-sized transactions. The transaction size is limited by the size of the physical memory.
- π Support hexadecimal and binary expressions as separators in
LOAD DATA
#11029 #13914 #13692 #13686 #11415 #13927 #13764 #13720 - β Add 15 SQL hints to control the behavior of the optimizer and make the optimizer more stable
π Changed Behaviors
- β‘οΈ Optimize the error code of SQL error messages to eliminate the
ERROR 1105 (HY000)
code(theUnknown Error
type) - β‘οΈ Print the log or cancel the SQL execution when the memory used during the execution of
INSERT
/REPLACE
/DELETE
/UPDATE
exceeds the limit specified by theMemQuotaQuery
configuration item. The actual behavior depends on theOOMAction
configuration #14179 #14289 #14299
π Bugfix
- Increase the accuracy of calculating the cost of