全部產品
Search
文件中心

PolarDB:PolarDB MySQL版8.0.2版本發布日誌

更新時間:Nov 01, 2024

本文將詳細介紹PolarDB MySQL版8.0.2版本的更新日誌和全部的功能特性。

8.0.2.2.26

類別

說明

發布時間

效能最佳化

  • 最佳化了統計資訊採樣機制,提升了大表的採樣頻率,並確保每列範圍得到覆蓋,提高了最佳化器的代價估計精度。

  • 最佳化列存節點Serverless流程。

    允許新增列存節點在索引準備就緒後再對外服務,以減少在此期間由於路由到新增節點上的SQL走行存計劃導致的慢查。

  • 最佳化列存索引(IMCI)在SQL執行時,儲存分區資訊帶來的效能開銷,提升分區表查詢效能。

2024-10-21

問題修複

  • 修複子查詢嵌套中使用IN關鍵字合并時導致結果集不正確。

  • 修複相互關聯的子查詢使用window function嵌套過程中崩潰。

  • 修複高頻率INSTANT DDL操作與後台compaction任務存在並發導致migrate過程崩潰。

  • 修複了在添加自增列並在該列上建立逆序主鍵索引時導致B-tree損壞。

  • 修複了在表資料全部清空後,Autoinc值可能回退至0的問題。

  • 修複了IMCI在處理一個運算式中包含多個帶有SUM的子查詢時出現的回退行存問題。

  • 修複了在啟用列存索引(IMCI)的情況下,在子查詢中使用JSON_ARRAY運算式時,可能導致結果不正確的問題。

  • 修複了在查詢轉換過程中,表個數超過61可能導致系統崩潰。

  • 修複UNIQUE CHECK IGNORE分區錶帶有REPLACE的LOAD DATA二次匯入相同資料報錯的問題。

  • 修複分區表在HA(節點切換)後出現Autoinc回退問題。

  • 修複了庫表恢複新流程中,同一張表進行多輪恢複後導致流程中斷的問題。

  • 修複重建列存索引(IMCI)不支援Online重建,導致列存索引停用問題。

  • 修複了在極少數情況下,列存執行訪問字串類型資料時,因訪問無效資料而導致查詢報錯的問題。

  • 修複UPDATE語句使用Index_merge最佳化時,可能造成效能退化問題。

  • 修複了列存索引(IMCI)的Index JOIN使用常量作為JOIN條件時可能觸發的問題。

  • 修複並行過程中table function條件下推,避免並存執行情況下執行失敗的問題。

  • 修複ePQ多機並行開啟後Outline中指定不存在的索引會導致報錯的問題。

  • 修複帶有全文索引的表上,修改COMMENT添加列存索引(IMCI)時無法使用非同步DDL。

  • 修複開啟Force Recovery時,Undo初始化階段可能出現叢集異常崩潰的問題。

  • 修複了InnoDB暫存資料表在更新情境中可能導致結果不正確的問題。

  • 修複了Proxy進階事務拆分與Fast Query Cache之間的衝突影響結果集的問題。

  • 修複查詢中包含常量表時,並行查詢結果可能出錯的問題。

  • 修複了在使用萬用字元時,JSON_Length返回結果不正確的問題。

  • 修複RO節點在HA階段可能卡住的問題,避免使用者HA時間過長。

8.0.2.2.25.2

類別

說明

發布時間

問題修複

提升檔案系統版本,最佳化可寫快照還原叢集的流程。

2024-08-13

8.0.2.2.25.1

類別

說明

發布時間

問題修複

修複檔案系統版本與管控系統相容性問題。

2024-08-10

8.0.2.2.25

類別

說明

發布時間

新增功能和效能最佳化

  • 新增支援JSON_VALUE()函數,簡化了在JSON列上建立索引的操作。

  • 新增支援Copy DDL執行過程中,業務可持續更新。

  • 新增支援JOIN條件下推到對應的視圖。

  • 列存索引(IMCI)新增基於Hybrid Plan的index join,支援利用InnoDB索引進行JOIN。

  • 新增通過聯邦外表方式直接存取AI節點資料表。

  • 新增OSS OUTFILE功能支援並行匯出至OSS引擎

  • 新增高優先順序DDL能力,保證DDL執行成功。

  • 新增LOCK方法,可以鎖定歸檔表。

  • 新增行列混合最佳化器和基於代價的行列路由能力。

  • 新增最佳化器功能為內串連或半串連消除。

    最佳化外串連消除功能並擴充更多情境。

  • Binlog大事務最佳化,避免阻塞其他事務提交。

  • 新增列存索引(IMCI)中Hybrid Plan新增對分區表、虛擬列、ENUM、SET和GIS類型的列的支援。

  • 新增行內執行過程中支援動態切換列存。

  • 新增OSS查詢加速功能支援分區表歸檔至OSS外表分區手動自動歸檔導表可以同步產生OSS_FILE_FILTER查詢加速資料

  • 最佳化PolarDB MySQL版8.0.1及以上版本,支援在explain顯示outline調用情況。

  • 最佳化PolarDB MySQL版ORDER BY LIMIT下推功能,支援ORDER BY LIMIT下推到JOIN Tables中。

  • 最佳化PolarDB IO Threads可動態調整無需重啟功能。

  • 最佳化了單表查詢的查詢最佳化的耗時。

  • 最佳化列存索引(IMCI)中DML事務回放效能問題。

  • 最佳化列存索引(IMCI)bloom filter hash演算法,以及使用字串首碼構建bloom filter節省構建開銷。

  • 最佳化simulated AIO的效能。

  • 最佳化3AZ叢集在低並發時效能低下問題。

  • 最佳化非阻塞DDL功能,支援更多DDL語句。

  • 最佳化了列存索引(IMCI)中查詢時使用的元資訊的記憶體。

  • 最佳化調整Polarfs交易處理線程優先順序,提高PolarDB MySQL版 DDL效能。

  • 最佳化檔案系統在DDL過程中頻繁建立和刪除表檔案時的效能穩定性。

2024-08-08

問題修複

  • 修複當查詢擁有過多UNION ALL時,在IMCI執行時報告記憶體不足的問題。

  • 修複RO節點在Buffer Pool滿載時,使用者線程長時間等待Free Page問題。

  • 修複統計資訊採樣機制大表頻繁採樣問題。

  • 修複開啟innodb_polar_log_rdma_transfer時,移除RO節點可能導致監控串連阻塞一段時間的問題。

  • 修複部分列存索引(IMCI)隱式轉換與MySQL中CASE不相容的問題。

  • 修複分區表歸檔至OSS外表時,不支援全域二級索引(GSI)的問題。

  • 修複備節點的通訊(ACK)包串連報錯無法識別的問題。

  • 修複了對大表執行analyze table操作期間發生記憶體不足 (OOM) 錯誤。

  • 修複了合并視圖過程中無用的子查詢沒有被刪除的問題。

  • 修複inlist轉JOIN過程中inlist類型不一致導致結果集不一致的問題。

  • 修複查詢改寫單行子查詢使用index_merge訪問導致讀取不到資料問題。

  • 修複子查詢轉semi join crash的問題。

  • 修複查詢改寫帶anti join標量子查詢轉derived table崩潰的問題。

  • 修複JSON中浮點數精度不夠問題。

  • 修複全域一致性高效能模式(SCC) Log RDMA功能,不相容GDN備叢集的問題。

  • 修複並行計算計划過程中double類型大值轉uint導致溢出的問題。

  • 修複UCI分區表對於不包含分區鍵的二級索引,REF或MULTI RANGE訪問代價偏小的問題。

  • 修複JSON中double value在parse階段精度異常丟失問題。

  • 修複了主動觸發checkpoint期間DB卡住缺陷問題。

  • 修複查詢改寫derived merge與標量子查詢解嵌套規則交織過程中崩潰問題

  • 修複MYSQL外部XA事務在crash recovery過程的安全性問題。

  • 修複IMCI分區表上統計資訊在分區裁剪情境下失效的問題。

  • 修複帶有function index的InnoDB表無法冷資料歸檔的問題。

  • 修複了設定optimizer_switchparallel_query_switch數值時,分隔字元號設定會導致報error而非warning的問題。

  • 修複DML語句預設禁止index merge intersection訪問路徑,提升效能防止死結問題。

  • 修複了最佳化器因基數估計誤差導致無法選擇最優的JOIN ORDER的問題。

  • 修複CREATE TEMPORARY TABLE SELECT STATEMENT屬性帶列存的列報錯問題。

  • 修複最佳化表過程中可能出現的宣告失敗問題。

  • 修複單機與多機並行時timedatetime比較導致查詢結果緩衝可能結果不準的問題。

  • 修複在會話級串連池下串連複用審計日誌IP錯誤。

  • 修複UCI分區表基於主鍵的點查和範圍查詢代價偏低的問題。

8.0.2.2.24

類別

說明

發布時間

新增功能和效能最佳化

2024-06-21

問題修複

  • 修複空表使用並行DDL建立全域二級索引(GSI)時報錯的問題。

  • 修複大表中帶有Blob欄位時統計資訊估算錯誤的問題。

  • 修複審計和慢日誌掃描行數時未記錄派生表(Derived Table)掃描行數的問題。

  • 修複Shrink過程中出現異常,導致的空間泄漏的問題。

  • 修複混合分區中同時包含InnoDB分區和ORC分區時,在並行查詢過程中出現錯誤的問題。

  • 修複子查詢被錯誤摺疊時,導致結果集不正確的問題。

  • 修複核心版本從8.0.1升級到8.0.2後,帶有二級分區的分區表無法執行增加列(ADD COLUMN)操作的問題。

  • 修複謂詞條件中存在DEFAULT運算式時,並行查詢可能導致的叢集崩潰問題。

  • 修複DLM策略執行時許可權過高的問題。

  • 修複歸檔表在存在降序索引時進行歸檔操作失敗的問題。

  • 修複對Blob列進行更新時,原記錄的Blob空間無法回收的問題。

  • 修複使用BIGINT列作為JOIN條件時,若列中的值很大,可能導致基數估計結果不準確,從而導致無法使用列存索引(IMCI)的問題。

  • 修複更新列存索引(IMCI)分區表上的統計資訊時可能只對部分分區進行採樣,導致統計資訊不準確的問題。

  • 修複合并視圖過程中未刪除無用子查詢的問題。

  • 修複CTE(Common Table Expression)作為LEFT JOIN的右表被消除後,可能導致並行查詢崩潰的問題。

  • 修複開啟線程池的情況下,SQL洞察中讀寫事務的事務ID可能為0的問題。

8.0.2.2.23.1

類別

說明

發布時間

新增功能和效能最佳化

Fast Query Cache功能中增加了返回行數資訊,命中緩衝的查詢語句在審計日誌中可以展示返回行數。

2024-05-20

問題修複

  • 修複審計日誌和慢日誌掃描行數中未記錄derived table掃描行數的問題。

  • 修複Limit Offset下推組合二級索引等值條件加主鍵in list條件時無法返回資料的問題。

  • 修複FLOAT類型與INT類型比較時,結果可能不正確的問題。

8.0.2.2.23

類別

說明

發布時間

新增功能和效能最佳化

  • 新增參數limit_orderby_pushdown_mode,用於控制是否將LIMIT和Order By下推到派生表(derived table)或UNION ALL的所有子分支。當LIMIT小於參數limit_pushdown_to_union_threshold的值時,會將LIMIT和Order By下推到UNION ALL的所有子分支。

  • 支援對OSS上CSV格式的資料檔案使用查詢加速功能。

  • 支援對已建立全域二級索引(GSI)的分區表執行INSTANT DROP PARTITION操作,且不會導致分區表上的全域二級索引(GSI)失效。

  • 最佳化並提升唯讀(RO)節點的讀取效能。

  • 列存索引(IMCI)中新增基於TopK下推的Left Join功能。

  • 支援在UPDATE語句中使用LEFT JOIN消除功能。

  • 最佳化SQL Trace功能,使得在調用內建預存程序時可以正確記錄SQL及其執行計畫。

  • 支援在已建立列存索引的表上使用秒級加列功能。

  • 支援使用非等值謂詞推導技術,能夠下推更多的謂詞。

  • 精簡行列自動分流參數的使用流程。同時,在不使用列存時支援通過SET use_imci_engine=FORCED來返回明確的原因。

  • 新增最佳化器查詢變換功能,能夠基於HAVING條件和VIEW外層條件實現LEFT JOIN到INNER JOIN的轉換。

  • 新增最佳化器功能:消除查詢語句中的冗餘DISTINCT運算元,提高查詢執行速度。

  • 最佳化子查詢執行流程,多個子查詢儘可能摺疊,以達到消除子查詢的目的。

  • 支援在使用Hybrid Plan加速寬表查詢功能時使用暫存資料表。

  • 最佳化低並發情境下Thread Pool處理建連請求的速度。

  • 支援對列存索引使用rman.import命令。

  • 最佳化X-Engine採樣統計資訊功能,估計近似壓縮比。

  • 支援建立Tair的唯讀(RO)節點來提供Cache讀能力。

  • 在監控資料庫效能時,忽略系統營運人員的訪問對slow_queries狀態指標的影響。

  • 減少列存索引(IMCI)記憶體配置和記憶體統計的元資訊開銷,以節省記憶體。

  • 支援對X-Engine單表和分區表進行並行查詢。

  • 列存索引(IMCI)支援使用BatchProbe最佳化方法,以提高JOIN操作的效能。

  • 最佳化列存索引(IMCI)的元資訊、檔案模組以及常駐記憶體中的小對象的記憶體,以減少常駐記憶體的使用。

  • 支援同時使用列存索引和全域一致性(高效能模式)功能。

  • Stats Manager支援將採集長條圖的任務自動下發到唯讀節點或熱備節點執行,以實現長條圖的自動更新。

  • 最佳化PolarFS唯讀節點 IO 效能,提高唯讀節點查詢響應速度。

2024-05-08

問題修複

  • 修複Buffer Pool自動取消前序縮容功能因使用者大SQL佔用Page不釋放,導致後續的擴容請求無法執行的問題。

  • 修複使用dbms_oss.delete_table_file內建預存程序無法刪除CSV和ORC格式的冷資料的問題。

  • 修複高並發下Buffer Pool自動取消前序縮容功能可能造成節點崩潰的問題。

  • 修複了當查詢中含有返回空結果集的子查詢時,查詢可能不能被分發到列存索引執行的問題。

  • 修複Thread Pool非同步鑒權過程中遇到ACL lock wait後,可能造成Thread Pool內部計數器錯誤的問題。

  • 修複對Decimal類型的資料執行乘法操作時,在至少一個乘數為0且結果的scale(小數位元)超過16時,會返回assert資訊的問題。

  • 修複一鍵升級RDS MySQL至PolarDB MySQL版情境下,PolarDB MySQL版叢集重啟導致遷移鏈路中斷的問題。

  • 修複混合分區中同時包含InnoDB分區和ORC分區時,查詢時節點崩潰的問題。

  • 修複對OSS外表反覆歸檔時,資料丟失的問題。

  • 修複在預讀Blob類型的資料時,訪問無效的Blob引用導致節點崩潰的問題。

  • 修複在使用列存索引功能時,同時開啟預讀功能導致節點機率性崩潰的問題。

  • 修複串連條件下推功能中不支援使用HINT文法的問題。

  • 修複謂詞下推子查詢功能中不支援使用HINT文法的問題。

  • 修複HAVING條件下推不完全的問題。

  • 修複並行查詢中在HAVING子句中引用投影列,執行非相互關聯的子查詢時可能導致節點崩潰的問題。

  • 修複Autoinc init日誌列印過多的問題。

  • 修複子查詢合并功能不支援Optimizer HINT的問題。

  • 修複OSS外表在Order By Desc情境下可能會報錯的問題。

  • 修複列存索引(IMCI)壓縮超大strpack時記憶體越界的問題。

  • 修複條件下推至派生表時可能造成效能回退的問題。

  • 修複Group By之後BIT欄位顯示不正確的問題。

  • 修複X-Engine中的compaction背景工作嚴格的並發控制對前台操作的影響,導致慢查詢效能下降的問題。

  • 修複在並行查詢中,如果一個計劃分區中存在多張表做partition-wise並行掃表,同時分區中還執行了parallel hash join操作時,可能導致結果不正確的問題。

  • 修複部分子查詢上拉而導致警告column in group statement is ambiguous的問題。

8.0.2.2.22.1

類別

說明

發布時間

新增功能和效能最佳化

  • 最佳化了將冷資料從OSS導回至InnoDB引擎的報錯資訊內容。

  • 支援在SQL Trace中配置跟蹤慢查詢的執行資訊。

2024-04-17

問題修複

  • 修複Statement Outline和Concurrency Control等功能在執行Reload操作時,出現的記憶體流失的問題。

  • 修複左串連INFORMATION_SCHEMA庫中的表時結果錯誤的問題。

  • 修複了當已建立DLM策略的表的表結構發生變更後,DLM策略仍能生效的問題。

  • 修複在分區表上執行INSERT INTO ON DUPLICATE VALUE命令時報錯Can't find record on <table>的問題。

  • 修複在含有自增列的分區表上執行TRUNCATE PARTITION命令時小機率崩潰的問題。

  • 修複在B-tree較高或B-tree資料扭曲的大表上執行並行查詢操作時,可能存在的並行分區數目過少,或並發worker資料不均衡的問題。

8.0.2.2.22

類別

說明

發布時間

新增功能和效能最佳化

  • 支援為使用者授予執行SHOW_ROUTINEFLUSH_USER_RESOURCESFLUSH_TABLESFLUSH_STATUSFLUSH_OPTIMIZER_COSTS命令的全域動態許可權。

  • 禁用Blob的small partial update特性,以避免讀取Blob類型的欄位時可能讀錯資料的問題。

  • 使用HINT文法SET_VAR設定參數loose_optimizer_switch的值時,末尾不再需要添加逗號。

2024-04-07

問題修複

  • 修複執行EXCHANGE PARTITION操作時,因索引順序不同導致索引損壞,無法訪問表資料的問題。

  • 修複DDL預讀在並行DDL情境下存在死結的問題。

  • 修複在執行checkpoint操作時,checkpoint的LSN位點不符合預期,導致叢集異常重啟後,崩潰恢複邏輯無法正常啟動並執行問題。

  • 修複Autoinc出現回退時,需要重啟節點才能恢複的問題。

  • 修複Hybrid Plan應用於帶Order By的SQL語句,且輸出行包含NULL時,報table definition has changed錯誤的問題。

  • 修複部分內建預存程序輸入變數數量錯誤,不能正確報錯的問題。

  • 修複並行查詢將GROUP BY下推到Worker上去並存執行時,在有分區表的情況下,返回結果集中存在分組重複的問題。

  • 修複建立包含DECIMAL類型的列的表時,誤判“Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs”錯誤的問題。

  • 修複開啟backquery機器閃回查詢功能後,使用暫存資料表時,執行undo清理的過程(undo cleanup)中出現小機率崩潰的問題。

  • 修複最佳化器選擇了ordering index(排序索引),但實際執行時未省略排序操作的問題。

  • 修複在使用JOIN消除最佳化功能後,剩餘表的列資訊沒有更新,導致可能無法選擇表的最優訪問方式的問題。

  • 修複Semi join選擇Materialization策略時,查詢結果可能出現錯誤的問題。

  • 修複主鍵不包含分區鍵的分區表在binlog_row_image=MINIMAL情況下,Binlog Record不能唯一定位某一行record的問題。

  • 修複以下情境中,最佳化器在主鍵不包含分區鍵時,UCI索引可能不唯一的問題:

    • 上拉semi-join內表情境;

    • GROUP BYDISTINCT消除情境;

    • 為JOIN消除添加唯一鍵依賴情境;

    • 相關標量子查詢通過window轉derived table解關聯的情境;

    • 列存索引處理GroupJoin查詢情境。

8.0.2.2.21

類別

說明

發布時間

新增功能和效能最佳化

  • 最佳化低並發情境下線程池(Thread Pool)處理建連請求的速度。

  • 開啟全域一致性(高效能模式)功能後,若當前執行的SQL語句不需要使用該功能,支援在當前的SQL語句中使用Hint文法來關閉全域一致性(高效能模式)功能。

  • 支援在Grouping子句中使用關聯子查詢,以及消除複雜關聯子查詢。

  • 支援在多主叢集(庫表)中使用Concurrency Control和Statement Outline,當在多主叢集(庫表)的某個主節點上增加或刪除Concurrency Control和Statement Outline後,叢集上的其他主節點會自動同步增加或刪除Concurrency Control和Statement Outline資訊。

  • 支援在PolarDB MySQL版叢集中增加Tair緩衝節點,來讀取PolarDB MySQL版資料庫中的資料。

  • 最佳化列存索引(IMCI)的啟動流程,減少列索引的啟動準備時間。

  • 提升了唯讀(RO)節點在二級索引回表主鍵情境下資料的讀取效能。

  • 最佳化了列存索引(IMCI)中的事務掩碼計算流程。

2024-01-17

問題修複

  • 修複對叢集執行升級操作時,可能導致根據DIGEST值匹配的CCL規則失效的問題。

  • 修複在調用部分內建預存程序時,在入參中添加反引號導致節點崩潰的問題。

  • 修複使用列存索引(IMCI)功能查詢TopK資料時,因查詢語句中涉及的表中的NULL值過多,進行倒序排序時排序結果錯誤的問題。

  • 修複唯讀列存節點在涉及列存索引表的DDL執行過程中啟動時,無法恢複列存資料的問題。

  • 修複在某些特殊情境下,在包含Recursive CTE的查詢語句中不能使用彈性並行查詢(ePQ)功能的問題。

  • 修複執行庫表恢複的新流程時,唯讀(RO)節點註冊位點過低導致新增RO節點失敗的問題。

  • 修複執行庫表恢複的新流程時,因磁碟滿載導致線程無法退出的問題。

  • 修複在X-Engine引擎物理複製過程中並發修改資料結構,導致唯讀節點異常的問題。

  • 修複X-Engine引擎從唯讀副本(replica)升級到同步備庫(standby)的過程中,升級失敗的問題。

  • 修複修改分區表中分區鍵的字元集時,資料沒有重新分區的問題。

  • 修複使用列存索引(IMCI)查詢包含BIT類型資料的視圖時,查詢結果不正確的問題。

  • 修複低並發情境下,對X-Engine引擎中的表執行寫入操作時延遲偏高的問題。

  • 修複單行子查詢被上拉後,GROUP BY找不到相應列的問題。

  • 修複MySQL社區開啟subquery_to_derived功能後,結果集不正確的問題。

  • 修複使用polar_abbrev_sort_key_size參數控制排序操作時,寫壞記憶體的問題。

  • 修複在主鍵不包含分區鍵的分區表上執行等值查詢操作,選擇唯一鍵(UK)進行index merge的情境下,只返回第一個分區中的資料的問題。

8.0.2.2.20

類別

說明

發布時間

新增功能和效能最佳化

  • 未添加過Statement Outline的叢集,在版本升級後如果添加了Statement Outline,進行outline匹配時不再受字元集影響。

  • 最佳化全域一致性(高效能模式)的開啟流程。

  • 支援任意節點訪問列存的INFORMATION_SCHEMA視圖資訊,預設彙總展示所有列存節點的資訊。

  • 最佳化了庫表恢複功能。如提升庫表恢複速度,支援任務失敗復原等。

2023-12-20

問題修複

  • 修複當derived table中存在ROLLUP計算時,對derived table進行並行掃描可能造成節點崩潰的問題。

  • 修複在建立OSS外表時,使用者自訂CONNECTION串連格式有誤導致節點崩潰的問題。

  • 修複RO節點的物理機出現故障時,RW節點在特殊情況下未將其複製關係中斷,而引發RW節點刷髒受阻的問題。

  • 修複HA後,因表數量過多而引發table cache淘汰導致Autoinc回退的問題。

  • 修複刪除X-Engine中的表或索引時,由於與偶發的後台SwitchMemtable操作之間存在並發關係而產生極端的Redo log時序。導致replica節點崩潰的問題。

  • 修複在強制關閉遠端連線時,彈性並行查詢(ePQ)執行異常導致內部連線物件泄露的問題。

  • 修複並存執行ROLLUP語句時,因GROUP BY中存在多個相同常量列導致查詢結果錯誤的問題。

  • 修複分區表的所有分區在分區剪枝階段都被裁剪掉的情況下,使用RANGE INDEX訪問分區表的全域二級索引時,觸發ASSERT CRASH(斷言錯誤)的問題。

  • 修複將冷資料歸檔為ORC格式時,因表中存在Blob類型的欄位導致歸檔失敗的問題。

  • 修複MRR等情境下,並行查詢對全域二級索引(GSI)的限制問題。

8.0.2.2.19.1

類別

說明

發布時間

問題修複

引入官方MySQL 8.0.16的補丁,用於修複Blob過大引發死結的問題。

2023-11-13

8.0.2.2.19

類別

說明

發布時間

新增功能和效能最佳化

  • 最佳化唯讀節點(RO)節點切換為主節點的邏輯。

  • 最佳化線程池(Thread Pool)處理建立串連的邏輯。

  • 支援將子查詢為UNION子句時的條件下推至物化表(derived table)。

  • 支援通過等值條件的傳遞關係儘可能讓更多的可以下推的條件下推至物化表(derived table)。

  • 最佳化器支援將合格謂詞下推到子查詢中。

  • 最佳化等值非覆蓋索引訪問代價模型。

  • 新增參數opt_non_covering_key_cost,用於控制是否考慮二級索引初始定位代價。

  • 新增參數worst_seek_records_threshold,用於控制在代價估算時是否限制等值非覆蓋索引訪問IO代價的最大值。

  • 最佳化了記憶體,即減少了表對象緩衝和表定義緩衝對記憶體的消耗。

  • 支援對所有的RANGE類型的分區表使用DLM自動歸檔冷資料功能。

  • 支援在分區有裁剪的查詢中,最佳化器可以選擇分區表的全域二級索引。

2023-10-30

問題修複

  • 修複OSS SERVER的AK資訊損壞時,可能出現叢集無法啟動的問題。

  • 修複了部分情境下,GroupJoin運算元佔用過多記憶體導致查詢失敗的問題。

  • 修複了部分帶有OR謂詞的查詢因查詢計劃無法綁定正確的列而無法執行的問題。

  • 修複了在unsigned列與signed列進行Join串連時,最佳化器不能準確估算Join選擇率的問題。

  • 修複了查詢被調度器終止時可能導致資料庫重啟的問題。

  • 修複訪問X-Engine引擎的唯讀(RO)節點無法彙報版本引用資訊,引發空間回收失敗的問題。

  • 修複載入checkpoint時超前的RowID復原失敗的問題。

  • 修複列存索引在延遲物化情境下IO效能退化的問題。

  • 修複了在分區剪枝時因沒有定位到分區而可能出現的死迴圈問題。

8.0.2.2.18

類別

說明

發布時間

問題修複

修複刪除相同的SQL語句類型中,最後一個只填寫了keyword而沒有schema和table的CCL規則時,可能導致節點崩潰的問題。

2023-09-17

8.0.2.2.17

類別

說明

發布時間

新增功能和效能最佳化

提高將冷資料以CSV格式歸檔至OSS時的歸檔速度。

2023-08-23

問題修複

  • 修複使用者同時開啟全域一致性(高效能模式)和彈性並行查詢(ePQ)功能時,可能觸發Table definition has changed錯誤的問題。

  • 修複Index condition pushdown情境下,SQL語句的掃描行數統計不準確的問題。

  • 修複在全文索引中使用短語搜尋(Phrase search)模式時,導致節點崩潰的問題。

  • 修複當讀寫節點(RW)執行完undo truncate時,新串連的RO節點會崩潰的問題。

8.0.2.2.16.1

類別

說明

發布時間

問題修複

  • 修複後台線程CPU佔用過高的問題。

  • 修複OSS Sever的AK資訊損壞時,可能出現無法啟動叢集的問題。

2023-07-25

8.0.2.2.16

類別

說明

發布時間

新增功能和效能最佳化

  • 支援使用列存索引查詢分區表中指定分區的資料。

  • 支援列存索引使用InnoDB引擎中的主索引進行加速查詢。

  • 對單表做UPDATE或DELETE操作時,支援將IN子查詢轉換為Semi-Join子查詢。

  • Join查詢中,支援將標量子查詢轉換為物化表。

  • 支援對InnoDB引擎中的分區表使用Fast Query Cache功能。

  • 建立OSS外表時不會自動建立隱式自增主鍵。

  • 支援在UNIQUE CHECK IGNORE=1的分區表上建立全域二級索引。

  • 新增參數innodb_polar_import_tablespace_strict_mode,預設值為ON,即執行庫表恢複操作時,表結構中包含full-text index會報錯。

2023-07-23

問題修複

  • 修複CTE中包含嵌套CTE,且有多處引用的情況下,JPPD最佳化功能崩潰的問題。

  • 修複對混合分區表執行庫表恢複操作時,恢複失敗的問題。

  • 修複關閉主節點並重啟時,備節點未觸發重連機制的問題。

  • 修複故障恢複過程中,進程低機率再次中斷的問題。

  • 修複在UNIQUE CHECK IGNORE分區表中插入資料時,插入錯誤分區的問題。

8.0.2.2.15

類別

說明

發布時間

新增功能和效能最佳化

  • 讀寫(RW)節點和唯讀(RO)節點之間支援通過RDMA網路進行日誌傳輸。

  • 支援將帶有自增列的分區表和普通表歸檔至OSS。

  • 聯邦查詢引擎支援將Order文法下推至遠端資料庫,Order文法與Limit Offset結合使用以降低網路代價。

  • 支援在混合分區表(InnoDB+ORC)上建立列存索引。

  • 新增ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE=CSV/ORC FORCE;文法。

  • 最佳化Thread Pool處理短連結的效能。

  • DLM功能支援將分區表中的InnoDB分區歸檔至OSS。

  • 支援刪除和增加混合分區表中InnoDB分區。

2023-06-28

問題修複

  • 修複使用列存索引進行查詢時,使用的臨時檔案寫滿磁碟後不能及時中斷查詢並清理檔案的問題。

  • 修複重複執行預存程序時,參數不生效的問題。

  • 修複普通使用者可以刪除sys的問題。

  • 修複並發記錄慢查詢日誌的過程中,Thread Pool內部計數器異常可能造成SQL請求堆積的問題。

  • 修複HA後,對分區表執行庫表恢複時,節點異常重啟的問題。

  • 修複checkpoint LSN推進不符合預期的問題。

  • 修複在RW節點執行ALTER TABLE ... IMPORT TABLESPACE操作的同時,在RO節點執行查詢操作可能會報錯的問題。

8.0.2.2.14

類別

說明

發布時間

新增功能和效能最佳化

  • 新增主鍵資料切片函數call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>])

  • 支援在虛擬列上建立列存索引。

  • 支援對建立列存索引的表使用資源回收筒功能。

  • 新增分區歸檔命令ALTER TABLE table_name CHANGE PARITION part_name ENGINE = 'csv';

  • 新增行級壓縮功能。

  • 最佳化OSS查詢能力。即開啟彈性並行查詢功能後,當系統的loose_csv_max_oss_threads參數值大於1時,直接進行並行查詢。

  • 最佳化OSS外表檔案格式錯誤的報錯資訊內容。

  • 支援讀取OSS上的ORC格式的資料,以及將ORC格式的資料寫入OSS。

  • 最佳化拼字錯誤的報錯資訊內容。

2023-05-24

問題修複

  • 修複在RO節點回放寬表的Redo日誌時,出現複寫延遲的問題。

  • 修複查詢混合分區表時使用order index最佳化,節點會崩潰的問題。

  • 修複截斷混合分區(truncate hybrid partition)時,節點會崩潰的問題。

  • 修複查詢語句中含有視窗函數時,使用Limit Offset下推最佳化功能導致查詢結果錯誤的問題。

  • 修複OSS無法並存執行的問題。

  • 修複OSS無法讀取JSON檔案的問題。

  • 修複engine拼字錯誤的問題。

  • 修複讀取CSV格式的OSS冷資料時,可能唯讀取到第一個檔案的問題。

  • 修複帶\n的資料,通過DLM歸檔後無法讀取的問題。

  • 修複冷資料歸檔後,OSS上可能會殘留臨時檔案的問題。

8.0.2.2.13

類別

說明

發布時間

新增功能和效能最佳化

  • 最佳化掃描資源回收筒內表時的記憶體消耗。

  • 支援在唯讀節點查詢gtid資訊。

  • 列存索引支援以重建列存索引資料的方式秒級加列。

  • 列存索引支援REGEXPR函數。

  • 列存索引支援基於IS NULL和IS NOT NULL相關的判斷條件進行裁剪最佳化。

  • 支援使用並行DDL來並行建立全域二級索引。

  • 支援在已建立全域二級索引的分區表上使用秒級加欄位功能。

  • Hint Plan新增Hint種類BNL、BKA和MRR。

  • SQL Sharing中新增變數by_expr_ignore_charset。將by_expr_ignore_charset設定為ON後,會消除不同字元集下含Order By或Group By語句產生的digest差異。但設定為ON後, 所有在該模式下產生的digest值都會與設定為ON之前產生的digest值不同。

  • Statement Outline功能新增介面dbms_outln.add_optimizer_outline('schema', 'hints', 'query') ,用於添加Optimizer Hints。

  • 支援將已建立全域二級索引的錶轉換為INTERVAL RANGE分區表,同時支援在INTERVAL RANGE分區表上建立全域二級索引。

  • 新增ALTER TABLE table_name CHANGE PARTITION partition_name ENGINE = 'csv';命令,用於將分區表上指定分區的全部資料歸檔到OSS。

  • 當沒有添加Statement Outline時,執行SQL語句不再計算SQL語句的Digest值。

  • 非阻塞DDL支援使用OPTIMIZE TABLETRUNCATE TABLE語句。

2023-04-21

問題修複

  • 修複在唯讀節點建立物理複製時出現讀逾時,而無法串連資料庫的問題。

  • 修複當engine_condition_pushdown參數值設定為true時,帶有NULL欄位的表下推不正確的問題。

  • 修複執行ALTER TABLE engine = csv storage oss, force; 命令時,無法刪除OSS上源檔案的問題。

  • 修複對空的OSS外表執行check操作時,資料庫節點崩潰的問題。

8.0.2.2.12

類別

說明

發布時間

新增功能和效能最佳化

  • 新增非阻塞DDL功能。

  • 新增SQL Trace功能。

  • 新增SQL Detail功能。

  • 新增Auto Plan Cache功能。

  • 新增列存索引功能。

  • 當使用Statement Outline過程中指定的Index Hints不存在時,不直接進行報錯,只報警示。

  • 在慢日誌擴充資料中展示執行計畫。

  • 全域一致性(高效能模式)新增Innodb_scc_timeout_count參數,用於記錄查詢過程中的逾時次數。

  • 全域一致性(高效能模式)新增Innodb_scc_timeout_degrade_count參數,用於記錄查詢逾時轉非同步查詢的次數。

  • 支援adaptive digest length,即statement digest計算的記憶體空間可以隨著查詢語句的長度自適應調整。

  • 並發控制CCL(Concurrency Control)新增ccl_mode參數,即當資料庫訪問流量達到並發控制上限後,拒絕其他訪問當前叢集的請求。

  • 內建預存程序支援使用以@開頭的變數作為輸入值。

  • 最佳化PolarFS內部的鎖粒度,大幅提升部分高負載情境下的效能。

2023-03-20

問題修複

  • 修複在熱備節點或唯讀節點上增刪CCL規則或Statement Outline時,不進行報錯的問題。

  • 修複在主節點執行SHOW SLAVE HOSTS語句時,導致叢集崩潰的問題。

8.0.2.2.11.1

類別

說明

發布時間

新增功能和效能最佳化

  • 支援Schema_name為空白的Statement Outline匹配所有與其Digest值相等的SQL語句。

  • 新增參數loose_group_by_compatible_sorting,用於控制是否開啟Group By排序相容模式。

2023-02-21

問題修複

修複在分區表上使用DDL語句時,可能會訪問非法記憶體的問題。

8.0.2.2.11

類別

說明

發布時間

新增功能和效能最佳化

  • 當分區運算式包含自增列(AUTO INCREMENT)時,支援使用者指定該列的值,並根據該指定的值進行分區裁剪。

  • 建立LIST DEFAULT HASH分區表的add partition文法中支援使用without validation選項來添加LIST分區 。

2023-02-20

8.0.2.2.10

類別

說明

發布時間

新增功能和效能最佳化

  • 普通錶轉換為分區表的文法增加without validation選項。文法如下:Alter table t1 partition by range(a) (partition p0 values less than (100), partition p1 values less than (200)) without validation

  • 基於代價的計算支援將物化的derived table的外層串連條件,下推到derived table內部。

  • 支援將帶有IN-List的謂詞條件轉換為暫存資料表,與from子句中的查詢進行semi-join,並通過zero-copy方式避免重複物化的開銷。

  • 支援將having中的條件下推到where條件中。

  • 二級分區支援在分區級的MDL鎖下,執行DDL操作並降低鎖粒度。DDL執行期間僅影響被變更的分區,其他分區的DML操作不受影響。

2023-01-09

問題修複

  • 開啟TDE時,關閉對系統資料表的加密操作,不允許對系統資料表進行加密。

  • 調整物理複製串連相關的逾時參數,以避免出現物理機故障時卡頓的問題。

8.0.2.2.9

類別

說明

發布時間

新增功能和效能最佳化

  • 忽略dbms_ccl.add_ccl_digest_ruledbms_outln.add_index_outlinedbms_outln.add_optimizer_outline內建預存程序中參數query中的SQL語句結尾的分號。

  • 將MEMBER關鍵字修改為非保留關鍵字。

  • 支援Partial Result Cache功能。

  • 最佳化器的join消除功能支援對left join的內表(包括有多層嵌套join以及Semi-Join的內表)進行消除。

  • 聯邦查詢引擎支援將所有相容的條件下推到遠端伺服器執行,且僅返回查詢所需要的列。

  • 聯邦查詢引擎支援將Limit Offset文法下推至遠端資料庫執行。

2022-12-23

問題修複

修複在建立Server的文法中不能使用IF NOT EXISTS的問題。

8.0.2.2.8

類別

說明

發布時間

新增功能和效能最佳化

  • 支援在分區表的部分分區上建立索引,即支援在分區表上以分區粒度建立、刪除和重建索引。

  • 支援在分區級的MDL鎖下,執行REBUILD PARTITION和REORGANIZE PARTITION操作,使得在對某個分區執行DDL操作期間,其他分區的DML操作不受影響。

  • 不再以明文格式儲存和顯示mysql.servers表中的使用者名稱和密碼。

    說明

    已有的Server的使用者名稱和密碼在升級後不會被加密,需要您手動刪除後重新建立。

  • 新增SELECT INTO OSSOUTFILE語句,用於將本地表(PolarFS上的表)匯出至OSS。

  • 支援熱備切換功能。

  • 新增dynamic_partition_prune_enabled參數,用於控制動態分區裁剪功能。該功能開啟後,在含有分區表的多表關聯查詢情境中,當串連條件滿足分區裁剪條件時,可以減少不必要的分區掃描,從而提升查詢效能。

  • 支援在分區表與普通表之間使用partition-wise join技術,大幅提升巨量資料量下分區表與普通表的join效率。

  • Statement Outline支援所有的UNION子句。

  • 支援在訪問分區表中的某一個分區時,使用LIMIT OFFSET下推功能。

2022-11-30

問題修複

  • 修複並行最佳化器中GROUP BY欄位唯一值個數估算不準確的問題。

  • 修複熱升級時,執行SQL語句會記錄Binlog的問題。

8.0.2.2.7

類別

說明

發布時間

新增功能和效能最佳化

  • 彈性多機並行(ePQ)支援跨機查詢OSS上的外表資料。

  • 支援在分區表上使用全域二級索引。

  • 支援在含有SJM(Semi-join Materialization)的查詢中使用多階段多機並行查詢。

2022-10-25

問題修複

  • 修複limit1提前結束導致的ERROR 1028 (HY000): Sort aborted: Query execution was interrupted問題。

  • 修複通過定時任務寫隱式主鍵可能導致節點崩潰的問題。

  • 修複彈性多機並行(ePQ)下count(distinct ...) 結果集不正確的問題。

  • 修複查詢條件中存在DATE和DATETIME類型時,可能導致並行查詢的查詢結果集錯誤的問題。

8.0.2.2.6.1

類別

說明

發布時間

問題修複

修複了RO節點因檔案名稱雜湊值衝突導致的崩潰問題。

2022-09-17

8.0.2.2.6

類別

說明

發布時間

新增功能和效能最佳化

  • 線程池最佳化:資料庫事務在等待中繼資料資訊鎖或行鎖時,線程池可以產生額外的線程來處理新的請求。

  • 增強CCL支援DDL限流。

  • 通過非同步寫入臨時檔案來加速DDL重新構建資料的過程。

  • 提升高並發下thread pool效能。

  • 在建立OSS server的文法中新增oss_sts_token參數,用於配置OSS的臨時訪問憑證。

2022-08-19

問題修複

修複查詢中同時存在Limit offset pushdown和MRR最佳化時返回結果錯誤的問題。

8.0.2.2.5.1

類別

說明

發布時間

新增功能和效能最佳化

  • 支援建立混合分區表。具體請參見建立混合分區

  • 唯讀節點支援自訂記憶體暫存資料表(目前只支援MEMORY引擎和MyISAM引擎)。

  • 支援ReadableProto功能。通過指明Protobuf協議,在資料庫上可以直接讀取序列化儲存在BLOB類型欄位上的資訊。

  • 最佳化DDL排序:二路歸併改為多路歸併來減少IO次數,提升DDL加索引的效能。

  • 在建立OSS server的文法中新增oss_prefix參數,用於配置OSS檔案路徑。

2022-07-22

問題修複

  • 修複group_by_implicit_sorting在選擇group by列的索引時,並發執行結果無序的問題。

  • 修複通過EXPLAIN FORMAT=TREE語句來顯示Hash Join結果中costrows錯誤的問題。

  • 修複叢集低負載下的物理複寫延遲過大的問題。

  • 修複Buffer Pool髒頁過多,且刷髒緩慢的情境下,LRU List清理受阻導致無法釋放Page的問題。

  • 修複了instant add column後復原Update操作時產生的記錄過長,進而導致資料庫崩潰的問題。

8.0.2.2.4

類別

說明

發布時間

新增功能和效能最佳化

支援使用者建立和使用Federated引擎表。

2022-05-31

問題修複

  • 修複當索引首碼存在多組資料時,SKIP_SCAN掃描結果集可能錯誤的問題。

  • 修複資料庫中的資料設定了刪除標記後,SKIP_SCAN掃描結果集錯誤的問題。

  • 修複Fast Query Cache在RO節點擷取MDL鎖導致Redo日誌同步阻塞的問題。

8.0.2.2.3

類別

說明

發布時間

問題修複

修複Using index for group by結果錯誤的問題。

2022-04-19

8.0.2.2.2

類別

說明

發布時間

新增功能和效能最佳化

  • PolarDB的並行查詢支援多機並存執行引擎。針對單個查詢,可以將部分或全部Workers調度到遠程節點執行,從而拉起叢集內多個節點的計算資源。 具體如下:

    • 並行查詢的並行度可以突破單機瓶頸,加速大查詢等分析類查詢。

    • 根據全域資源負載,將查詢調度到空閑節點上執行來加速查詢,提升資源使用率。

    • 使用者可以組建多個叢集組,形成計算資源集區,從而實現更靈活的計算資源彈效能力。

  • 並行查詢參數parallel_query_switch添加開關restrict_on_limit_without_order,該開關用於控制沒有order by的limit並行查詢。

  • 支援條件下推到物化派生表。

2022-03-31

8.0.2.2.1

類別

說明

發布時間

新增功能和效能最佳化

2022-03-15

問題修複

  • 修複history list無法被刪除導致undo log膨脹的問題。

  • 修複通過CREATE TABLE .. LIKE.. LIST DEFAULT HASH建立分區表時失敗的問題。

  • 修複UNIQUE CHECK IGNORE在系統資料表mysql.tables中的展示問題。

8.0.2.2.0

類別

說明

發布時間

新增功能和效能最佳化

  • 並行查詢能力提升。將線性加速能力提升了一個等級,引入了多階段並行計算能力。具體請參見概述

  • 分區表能力增強。支援更多的分區表類型,並且支援Interval分區。具體請參見分區表

  • 支援子查詢解關聯。

  • 與PolarProxy聯動,支援通過預存程序定義敏感欄位,並對敏感欄位取值的中繼資料進行打標。

  • 增加STATUS變數Online_altered_partition來統計通過online進行ALTER TABLE ADD PARTITIONALTER TABLE DROP PARTITION操作的次數。

  • 資料庫核心支援事務斷點續傳和唯讀節點讀取未提交的事務。

2022-01-12

問題修複

  • 支援SELECT FOR UPDATE WAIT NSELECT FOR SHARE WAIT N文法。 其中,N表示等待逾時的秒數,針對單個行鎖。如果一個查詢需要鎖定多行,不會對時間進行累計,僅對單行進行逾時檢測。等待時間超過N秒,則返回鎖等待逾時錯誤Lock wait timeout exceeded; try restarting transaction

  • 修複最佳化器針對部分GROUP BY語句未選擇更優的索引範圍路徑的問題。

  • 修複group_concat_max_len參數取值較大時,出現算術溢位導致GROUP_CONCAT函數結果錯誤的問題。

  • 支援修改資料庫緩衝大小。

  • 避免對分區表分區的不必要遍曆,提升查詢效率。

  • 修複對加密表執行DDL操作失敗的問題。

  • 最佳化master_key_id_mutex,使得DDL操作可以並存執行。

  • 修複了唯讀節點在高並發壓力很大時,replay log崩潰的問題。

  • 修複了唯讀節點在進行物理複製,高並發壓力很大時,崩潰在m_recv_bits.is_set(fold)的問題。

8.0.2.1.4.1

類別

說明

發布時間

新增功能和效能最佳化

innodb_adaptive_hash_index參數的預設值由ON改為OFF

2021-10-26

問題修複

支援修改資料庫緩衝大小。

8.0.2.1.4

類別

說明

發布時間

新增功能和效能最佳化

支援官方MySQL 8.0.20的Index Hints功能。

2020-12-01

問題修複

  • 修複Hash Join並行的一個穩定性問題。

  • 修複統計資訊中關於每個索引key對應行數估算錯誤的問題。

  • 修複並行掃描共用暫存資料表時,處理空資料出現錯誤的問題。

  • 修複官方REGEXP_REPLACE函數處理資料出現錯誤的問題。

  • 修複官方對於複雜查詢中包含子查詢常量的崩潰問題。

  • 修複filesort返回錯誤資料的問題。

8.0.2.1.3

類別

說明

發布時間

新增功能和效能最佳化

  • 增強Hash Join的代價估算模型效能。

  • 支援並行Hash Join,即Build和Probe階段的並行。

2020-10-26

問題修複

  • 修複並存執行計劃中並行分區數量錯誤顯示的問題。

  • 修複並行子查詢的一個異常崩潰問題。

  • 修複在並行查詢中使用RAND() 函數時,多個背景工作執行緒不能產生隨機結果的問題。

8.0.2.1.2

類別

說明

發布時間

新增功能和效能最佳化

PolarDB並行全面支援最新的火山模型迭代執行器。

2020-09-27

8.0.2.1.1

類別

說明

發布時間

新增功能和效能最佳化

最佳化叢集的寫效能。

2020-08-26

問題修複

修複記憶體流失問題。

8.0.2.1.0

類別

說明

發布時間

新增功能和效能最佳化

  • EXPLAIN支援並行計劃的展示,支援通過FORMAT=TREE查看並行的執行計畫樹。

  • 並行查詢支援雜湊串連,增強了無索引的JOIN效能,詳情請參見Hash Join的並行加速

  • 支援Resource Manager功能,能夠實現對CPU和記憶體資源的監控,詳情請參見Resource Manager

  • 支援Performance Agent,能夠實現PolarDB MySQL版叢集中的節點內部各項效能資料的採集與統計,您可以通過直接查詢記憶體表PERF_STATISTICS擷取相關指標的效能資料,詳情請參見Performance Agent

  • 新增持久緩衝池(Warm Buffer Pool),在Crash重啟和升級時,Buffer Pool中的資料依然存在,大幅度加快重啟速度,並保持重啟後效能無衰減。

2020-07-22