摘要:年月日,發(fā)布版,對(duì)應(yīng)的。相比版本,該版本對(duì)系統(tǒng)穩(wěn)定性優(yōu)化器統(tǒng)計(jì)信息以及執(zhí)行引擎做了很多改進(jìn)。新特性支持支持支持支持優(yōu)化器重新支持聚合消除的優(yōu)化規(guī)則優(yōu)化子查詢,將其轉(zhuǎn)化為添加變量以支持新的優(yōu)化器。
2019 年 1 月 19 日,TiDB 發(fā)布 3.0 Beta 版,對(duì)應(yīng) master branch 的 TiDB-Ansible。相比 2.1 版本,該版本對(duì)系統(tǒng)穩(wěn)定性、優(yōu)化器、統(tǒng)計(jì)信息以及執(zhí)行引擎做了很多改進(jìn)。
TiDB
新特性
支持 View
支持 Window Function
支持 Range Partition
支持 Hash Partition
SQL 優(yōu)化器
重新支持聚合消除的優(yōu)化規(guī)則
優(yōu)化 NOT EXISTS 子查詢,將其轉(zhuǎn)化為 Anti Semi Join
添加 tidb_enable_cascades_planner 變量以支持新的 Cascades 優(yōu)化器。目前 Cascades 優(yōu)化器尚未實(shí)現(xiàn)完全,默認(rèn)關(guān)閉
支持在事務(wù)中使用 Index Join
優(yōu)化 Outer Join 上的常量傳播,使得對(duì) Join 結(jié)果里和 Outer 表相關(guān)的過(guò)濾條件能夠下推過(guò) Outer Join 到 Outer 表上,減少 Outer Join 的無(wú)用計(jì)算量,提升執(zhí)行性能
調(diào)整投影消除的優(yōu)化規(guī)則到聚合消除之后,消除掉冗余的 Project 算子
優(yōu)化 IFNULL 函數(shù),當(dāng)輸入?yún)?shù)具有非 NULL 的屬性的時(shí)候,消除該函數(shù)
支持對(duì) _tidb_rowid 構(gòu)造查詢的 Range,避免全表掃,減輕集群壓力
優(yōu)化 IN 子查詢?yōu)橄染酆虾笞?Inner Join 并,添加變量 tidb_opt_insubq_to_join_and_agg 以控制是否開(kāi)啟該優(yōu)化規(guī)則并默認(rèn)打開(kāi)
支持在 DO 語(yǔ)句中使用子查詢
添加 Outer Join 消除的優(yōu)化規(guī)則,減少不必要的掃表和 Join 操作,提升執(zhí)行性能
修改 TIDB_INLJ 優(yōu)化器 Hint 的行為,優(yōu)化器將使用 Hint 中指定的表當(dāng)做 Index Join 的 Inner 表
更大范圍的啟用 PointGet,使得當(dāng) Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存生效時(shí)也能利用上它
引入貪心的 Join Reorder 算法,優(yōu)化多表 Join 時(shí) Join 順序選擇的問(wèn)題
支持 View
支持 Window Function
當(dāng) TIDB_INLJ 未生效時(shí),返回 warning 給客戶端,增強(qiáng)易用性
支持根據(jù)過(guò)濾條件和表的統(tǒng)計(jì)信息推導(dǎo)過(guò)濾后數(shù)據(jù)的統(tǒng)計(jì)信息的功能
增強(qiáng) Range Partition 的 Partition Pruning 優(yōu)化規(guī)則
SQL 執(zhí)行引擎
優(yōu)化 Merge Join 算子,使其支持空的 ON 條件
優(yōu)化日志,打印執(zhí)行 EXECUTE 語(yǔ)句時(shí)使用的用戶變量
優(yōu)化日志,為 COMMIT 語(yǔ)句打印慢查詢信息
支持 EXPLAIN ANALYZE 功能,使得 SQL 調(diào)優(yōu)過(guò)程更加簡(jiǎn)單
優(yōu)化列很多的寬表的寫(xiě)入性能
支持 admin show next_row_id
添加變量 tidb_init_chunk_size 以控制執(zhí)行引擎使用的初始 Chunk 大小
完善 shard_row_id_bits,對(duì)自增 ID 做越界檢查
Prepare 語(yǔ)句
對(duì)包含子查詢的 Prepare 語(yǔ)句,禁止其添加到 Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存中,確保輸入不同的用戶變量時(shí)執(zhí)行計(jì)劃的正確性
優(yōu)化 Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存,使得當(dāng)語(yǔ)句中包含非確定性函數(shù)的時(shí)候,該語(yǔ)句的執(zhí)行計(jì)劃也能被緩存
優(yōu)化 Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存,使得 DELETE/UPDATE/INSERT 的執(zhí)行計(jì)劃也能被緩存
優(yōu)化 Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存,當(dāng)執(zhí)行 DEALLOCATE 語(yǔ)句時(shí)從緩存中剔除對(duì)應(yīng)的執(zhí)行計(jì)劃
優(yōu)化 Prepare 語(yǔ)句的執(zhí)行計(jì)劃緩存,通過(guò)控制其內(nèi)存使用以避免緩存過(guò)多執(zhí)行計(jì)劃導(dǎo)致 TiDB OOM 的問(wèn)題
優(yōu)化 Prepare 語(yǔ)句,使得 ORDER BY/GROUP BY/LIMIT 子句中可以使用 “?” 占位符
權(quán)限管理
增加對(duì) ANALYZE 語(yǔ)句的權(quán)限檢查
增加對(duì) USE 語(yǔ)句的權(quán)限檢查
增加對(duì) SET GLOBAL 語(yǔ)句的權(quán)限檢查
增加對(duì) SHOW PROCESSLIST 語(yǔ)句的權(quán)限檢查
Server
支持了對(duì) SQL 語(yǔ)句的 Trace 功能
支持了插件框架
支持同時(shí)使用 unix_socket 和 TCP 兩種方式連接數(shù)據(jù)庫(kù)
支持了系統(tǒng)變量 interactive_timeout
支持了系統(tǒng)變量 wait_timeout
提供了變量 tidb_batch_commit,可以按語(yǔ)句數(shù)將事務(wù)分解為多個(gè)事務(wù)
支持 ADMIN SHOW SLOW 語(yǔ)句,方便查看慢日志
兼容性
支持了 ALLOW_INVALID_DATES 這種 SQL mode
提升了 load data 對(duì) CSV 文件的容錯(cuò)能力
支持了 MySQL 320 握手協(xié)議
支持將 unsigned bigint 列聲明為自增列
支持 SHOW CREATE DATABASE IF NOT EXISTS 語(yǔ)法
當(dāng)過(guò)濾條件中包含用戶變量時(shí)不對(duì)其進(jìn)行謂詞下推的操作,更加兼容 MySQL 中使用用戶變量模擬 Window Function 的行為
DDL
支持快速恢復(fù)誤刪除的表
支持動(dòng)態(tài)調(diào)整 ADD INDEX 的并發(fā)數(shù)
支持更改表或者列的字符集到 utf8/utf8mb4
默認(rèn)字符集從 utf8 變?yōu)?utf8mb4
支持 RANGE PARTITION
Tools
TiDB-Lightning
大幅優(yōu)化 SQL 轉(zhuǎn) KV 的處理速度
對(duì)單表支持 batch 導(dǎo)入,提高導(dǎo)入性能和穩(wěn)定性
PD增加 RegionStorage 多帶帶存儲(chǔ) Region 元信息
增加 shuffle hot region 調(diào)度
增加調(diào)度參數(shù)相關(guān) Metrics
增加集群 Label 信息相關(guān) Metrics
增加導(dǎo)入數(shù)據(jù)場(chǎng)景模擬
修復(fù) Leader 選舉相關(guān)的 Watch 問(wèn)題
TiKV支持了分布式 GC
在 Apply snapshot 之前檢查 RocksDB level 0 文件,避免產(chǎn)生 Write stall
支持了逆向 raw_scan 和 raw_batch_scan
更好的夏令時(shí)支持
支持了使用 HTTP 方式獲取監(jiān)控信息
支持批量方式接收和發(fā)送 Raft 消息
引入了新的存儲(chǔ)引擎 Titan
升級(jí) gRPC 到 v1.17.2
支持批量方式接收客戶端請(qǐng)求和發(fā)送回復(fù)
多線程 Apply
線程 Raftstore
英文版 Release Notes
https://github.com/pingcap/docs/blob/master/releases/3.0beta.md
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/17879.html
摘要:年月日,發(fā)布版,對(duì)應(yīng)的版本為。相比版本,該版本對(duì)系統(tǒng)穩(wěn)定性易用性功能優(yōu)化器統(tǒng)計(jì)信息以及執(zhí)行引擎做了很多改進(jìn)。 2019 年 03 月 26 日,TiDB 發(fā)布 3.0.0 Beta.1 版,對(duì)應(yīng)的 TiDB-Ansible 版本為 3.0.0 Beta。相比 3.0.0 Beta 版本,該版本對(duì)系統(tǒng)穩(wěn)定性、易用性、功能、優(yōu)化器、統(tǒng)計(jì)信息以及執(zhí)行引擎做了很多改進(jìn)。 TiDB SQL ...
閱讀 1464·2021-11-24 09:39
閱讀 1782·2021-11-22 15:25
閱讀 3736·2021-11-19 09:40
閱讀 3296·2021-09-22 15:31
閱讀 1296·2021-07-29 13:49
閱讀 1204·2019-08-26 11:59
閱讀 1317·2019-08-26 11:39
閱讀 928·2019-08-26 11:00