全部產品
Search
文件中心

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

更新時間:Feb 07, 2026

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

2026年

8.0.2.2.33.1(2026.02.02

問題修複

說明

8.0.2.2.33(2026.01.28

新增功能

說明

  • 新增原生BSON資料類型。該類型支援投影、更新、查詢、彙總等操作。

  • 新增接入大語言模型(LLM)的能力。允許通過標準SQL語句直接調用LLM。

  • 新增物化視圖重新整理過程中的並行插入能力。通過平行處理,顯著提升物化視圖的資料重新整理速度。

  • 新增自動將PolarDB MySQL版資料同步至PolarSearch功能。該功能可自動完成資料幫浦、轉換和載入,提升資料同步與匯聚效率。

  • 新增SQL層TTL的執行時間視窗配置。允許指定TTL任務的開始和結束時間,以在預設的時間段內自動清理到期資料。

  • 新增高壓縮引擎(X-Engine)列存儲存格式的支援,支援低成本儲存和高效能分析。

  • 新增在包含OSS分區的混合分區表情境下,支援執行COPY模式的DDL

  • 新增高壓縮引擎(X-Engine)支援索引列的字元集與校對規則,utf8_unicode_ci和utf8mb4_unicode_ci。

  • 新增物化視圖全量重新整理的節點分流功能。支援基於代價將重新整理任務分發至特定節點執行,以隔離資源影響。

  • 新增混合分區表支援列存索引(IMCI)功能。現在,InnoDB+X-Engine、InnoDB+ORC、InnoDB+CSV組合的混合分區表可通過ALTER TABLE COMMENT語句管理列存索引,從而利用IMCI加速對分區表的分析查詢。

  • 新增概述功能對DATETIME資料類型的支援。除TIMESTAMP外,現在也可使用DATETIME類型的列來定義資料自動到期策略,以滿足更廣泛的業務情境。

  • 新增Orca(相容Redis協議)相容性下對LUA指令碼的支援。現已支援EVAL、EVALRO、SCRIPTS等相關命令。

  • 新增向量索引的增量構建功能。該功能允許索引隨資料寫入而即時更新,大幅提升了海量向量資料的入庫與更新效率。

  • 新增消除冗餘的GroupBy/OrderBy功能,通過對GROUP BY和ORDER BY子句進行化簡與消除,減少冗餘計算,提升特定SQL查詢的執行效率。

效能最佳化

說明

  • 最佳化物理複製效率。支援在唯讀節點上啟用並行Redo日誌解析,降低主備延遲。

  • 最佳化列存索引(IMCI)重啟時間。改造NCI(Non-Clustered Index)模組使其支援Checkpoint機制,從而消除可消除LOADING NCI全量構建NCI的步驟。

  • 最佳化高壓縮引擎(X-Engine)的中繼資料管理機制。通過周期性釋放manifest log和老版本manifest checkpoint,避免因中繼資料檔案持續增長而導致的額外儲存空間佔用。

  • 最佳化列存索引(IMCI)分區向量檢索的效能。通過在多路歸併時複用向量索引尋找階段計算的距離,避免重複計算。修複列存索引(IMCI)條件下推在ORDER BY LIMIT情境下可能返回錯誤結果的問題。

  • 最佳化列存索引(IMCI)針對查詢條件中包含超長字串類型IN-List的查詢效能。

  • 最佳化查詢計劃搜尋流程,加速對多表Join順序的搜尋,減少了複雜SQL的整體最佳化時間。

  • 最佳化分組彙總(HashGroupby)的執行效率。通過引入向量化探查雜湊表的操作,在提升分組彙總效能的同時,略微降低了計算過程中的記憶體消耗。

  • 放開分區表的數量限制。

  • 最佳化列存索引(IMCI)的查詢執行策略,預設開啟自適應分組彙總執行。該功能可根據資料分布和查詢特性自動選擇最高效的彙總演算法,從而提升含GROUP BY子句的分析查詢效能。

  • 最佳化列存索引(IMCI)中Hash Join運算元的執行效率。此次最佳化對所有使用Hash Join的查詢均有效能改善,尤其對Semi Join情境效能提升顯著。

  • 最佳化分布式記憶體池的效能。通過增加相關參數與監控項。

問題修複

說明

  • 修複在特定情境下,包含觸發器欄位的過濾條件下推至派生表時可能導致叢集崩潰的問題。

  • 修複因查詢中存在變數賦值函數,導致條件下推最佳化失效的問題。

  • 修複全域二級索引(GSI)在特定LIMIT OFFSET下推最佳化情境下可能導致叢集崩潰的問題。

  • 修複在特定分區表升級過程中,因內部中繼資料處理不當而可能引發的穩定性問題。

  • 修複對包含OSS分區的混合分區表執行DML操作時,可能阻塞並發讀寫的問題。

  • 修複列存索引(IMCI)中高效能HashJoin運算元在處理RIGHT JOIN且資料落盤時,可能導致結果集行數丟失的問題。

  • 修複在高頻執行DDL操作的情境下,列存索引(IMCI)有較低機率出現複製卡住,進而導致節點出現資料延遲的問題。

  • 修複針對寬字元集(如utf8)的字串列,即使定義長度較短,也可能無法按預期採集統計資訊的問題。

  • 修複在多主叢集(Limitless)中,執行全域二級索引(GSI)相關的DDL操作時,因與後台線程衝突而可能導致叢集崩潰的問題。

  • 修複Orca(相容Redis協議)相容性下,資料表元資訊可能未被及時更新的問題。

  • 修複在使用dbms_outln.add_optimizer_outline_sharding為分表建立計劃固化 (Statement Outline)時,可能發生SQL解析錯誤的問題。

  • 修複列存索引(IMCI)的Serverless節點在低規格且無負載時,可能出現PCU反覆彈升彈降的問題。

  • 修複列存索引(IMCI)的Serverless功能在急劇彈升後又快速回收的情境下,因未能及時回收緩衝配額(Cache Quota)而可能引發OOM(記憶體溢出)的問題。

  • 修複大量常量表在彈性並行查詢(Elastic Parallel Query)估算代價錯誤,進而導致叢集崩潰的問題。

  • 修複為Interval分區表定義分區範圍時,若指定為時間類型可能導致叢集崩潰的問題。

  • 修複列存索引(IMCI)無法執行查詢條件中包含系統變數的SQL語句的問題。

  • 修複在頻繁更新與刪除的表上,可能導致統計資訊採集失敗的問題,並略微提升了採樣效率。

  • 修複在增量應用日誌期間執行DDL操作,可能導致記憶體持續上漲的問題。

  • 修複當查詢無需訪問混合分區表的OSS分區時,執行Index Merge計劃無法開啟表的問題。

  • 修複當Buffer Pool遠小於查詢所需的中間結果集時,可能導致叢集崩潰的穩定性問題。

2025年

8.0.2.2.32.1(2025.12.25

問題修複

說明

修複Orca(相容Redis協議)restore命令在恢複已到期的hash field時會遺漏其TTL(存留時間)資訊的問題。

8.0.2.2.32(2025.12.22

新增功能

說明

  • 支援將串連條件下推至包含UNION子句的派生表(derived table)。

  • 新增基於代價評估的OR展開查詢改寫,能夠將ORIN運算式智能轉換為UNION ALL,通過更優的索引利用來提升特定查詢情境的效能。

  • 新增對向量索引的線上DDL支援,允許在不改變列存索引(IMCI)狀態的情況下,建立、刪除、修改以及重建已有向量索引。

  • 新增設定透明資料加密TDE支援SM4演算法,為資料提供更高等級的加密保護。

  • 新增全域唯讀列存節點支援多主叢集分區表

  • 新增支援向量檢索的自適應執行最佳化,支援動態選擇執行方式(prefilter/postfilter/inline filter)。

  • 新增snapshot update特性,通過引入相容PostgreSQL的更新機制,最佳化特定情境下UPDATE操作的執行效率。該功能通過參數innodb_polar_use_snapshot_update控制,支援會話級和全域級開啟。

  • 新增列存索引(IMCI)支援全文索引,有效提升文本的模糊搜尋和分析效能。

  • 新增自動歸檔冷資料(DLM)支援將帶有列存索引(IMCI)的分區表歸檔至OSS外表,實現了DLM與IMCI的相容。

  • 新增Orca(相容Redis協議)的監控指標,包括活躍串連數、建立串連數、記憶體使用量量以及等待處理的任務數(pending tasks)等,增強了對Orca功能的可觀測性。

效能最佳化

說明

  • 最佳化物理複製中Page Apply的效率,通過減少唯讀節點讀取冷資料時的I/O開銷,降低物理複寫延遲的偶發性抖動,增強叢集穩定性。

  • 最佳化查詢最佳化工具中的謂詞推演(deduce_predicates)邏輯,使其能更有效地識別分區鍵的靜態條件,從而在分區裁剪階段過濾掉更多無關分區,提升查詢效率。

問題修複

說明

  • 修複高可用切換(HA)後,對包含視圖的表執行RENAME TABLE等DDL操作時,可能出現Duplicate entry錯誤的問題。

  • 修複當備份的表包含通過instant drop column方式刪除的列時,庫表恢複功能無法正確恢複該表的問題。

  • 修複多主叢集下,因訪問點切換後,刪除讀寫節點任務中斷的問題。

  • 修複高壓縮引擎(X-Engine)分區表執行添加或刪除分區操作時,需要增加表級MDL鎖的問題。

  • 修複Orca(相容Redis協議)在刪除鍵(key)後立即寫入,可能導致dbsize統計資訊不準確的問題。

  • 修複動態關閉線程池參數loose_thread_pool_enabled時,可能導致DDL執行完成後串連卡住的問題。

  • 修複列存索引(IMCI)在使用ETL功能時不支援JSON TABLE的問題,並最佳化了IMCI查詢記憶體不足時的錯誤提示資訊。

  • 修複當SELECT語句中同時包含IN-List與帶DISTINCT的彙總函式時,可能導致查詢無法在列存索引(IMCI)上執行的問題。

  • 修複列存索引(IMCI)處理小數點後位元過多(超過16位)的DECIMAL類型資料時,乘法計算結果可能不準確的問題。

  • 修複列存索引(IMCI)的Serverless功能主動彈升因索引狀態異常而導致持續觸發的問題。

  • 修複在按還原時間點(PITR)和庫表還原情境下,備用(Standby)節點在恢複(Recovery)階段可能出現掛起(Hang)的問題。

  • 修複唯讀節點切換為主節點後,可能導致存量Binlog dump串連卡住並影響Binlog清理的問題。

  • 修複在讀寫(RW)節點上執行SHOW POLAR STANDBYS命令時,查詢到的備用(Standby)節點延遲秒數(delay_second)不準確的問題。

  • 修複查詢最佳化工具的列裁剪(column pruning)功能在處理多個投影列引用同一子查詢時,可能因錯誤移除子查詢而導致進程崩潰的問題。

  • 修複非BIGINT類型的整數列統計資訊可能不準確,導致查詢最佳化工具無法產生最優執行計畫的問題。

  • 修複當參數innodb_blob_slave_read_consistent開啟時,查詢特定長度的JSON資料可能在唯讀節點上返回The JSON binary value contains invalid data錯誤的問題。

  • 修複包含遞迴通用資料表運算式(Recursive CTE)的查詢可能無法在列存索引(IMCI)上執行的問題。

  • 修複新註冊的唯讀節點在切換為主節點後,執行DDL操作可能報告SDI修改失敗的問題。

8.0.2.2.31.2(2025.11.19

新增功能

說明

新增動態開關,支援動態開啟唯讀(RO)節點遊標位置調整功能。

問題修複

說明

修複無初始化拓展在高並發寫入壓力下,HA(高可用切換)可能導致叢集崩潰的問題。

8.0.2.2.31.1(2025.10.15

問題修複

說明

修複在使用列存索引(IMCI)Hybrid Plan加速寬表查詢時,因查詢最佳化(將AVG函數轉換為SUM/COUNT)導致查詢意外回退至行存執行的問題。

8.0.2.2.31(2025.09.24

新增功能

說明

  • 新增在整型欄位(BIGINTINTMEDIUMINTSMALLINTTINYINT等)未定義ZEROFILL屬性時,您可配置是否展示display width屬性。

  • 新增對列存索引(IMCI)中向量索引後台建立的並發度管理與狀態查詢功能,便於在建立大規模向量索引時,有效控制資源消耗並即時追蹤任務進度。

  • 新增CXL記憶體擴充功能,允許通過CXL(Compute Express Link)記憶體池為叢集動態增加buffer pool容量,以提升大規模資料處理效能和系統輸送量。

  • 列存索引(IMCI)增加了基於FAISS庫的HNSWHNSWPQ兩種向量索引類型,以支援更高效能、更低記憶體佔用的高維向量近似最近鄰(ANN)檢索。

  • 列存索引(IMCI)的向量檢索中新增inline filter模式,實現了標量過濾與向量檢索的單運算元融合計算。

  • 新增相容Oracle文法的同義字(SYNONYM)功能。增加表或視圖同義字功能,可以為表或視圖建立同義字,然後直接使用同義字動作表或視圖。

  • 擴充了二級資料分割函數,現已支援RANGE COLUMNSLIST COLUMNS以及LIST COLUMNS+DEFAULT分區類型,並支援DATEDATETIMECHAR等多種二級分區鍵欄位。至此,分區表已支援一級和二級所有分區類型的任意組合,並對相關查詢提供分區剪枝最佳化。

  • 新增支援通過列存索引(IMCI)加速重新整理的全量物化視圖,為複雜查詢提供預計算結果集,大幅提升高頻彙總或關聯查詢的響應速度。

  • 新增embedding運算式,可將輸入文本即時轉換為向量。同時支援通過物化虛擬列的方式,在資料寫入時自動將常值內容轉換為向量並儲存。

  • INSERT ... VALUES/SET ... ON DUPLICATE KEY UPDATE文法增加別名(alias)支援,允許在UPDATE子句中通過別名引用INSERT部分的新增資料,使SQL邏輯更清晰、簡潔。

  • 擴充了自動歸檔冷資料功能,現支援將分區表中的冷資料分區歸檔至X-Engine儲存引擎。歸檔後,表將變為InnoDBX-Engine的混合分區表,支援跨不同儲存引擎分區的統一查詢。

  • 新增對非列存索引(IMCI)節點上非RU(Read Uncommitted)隔離等級會話的強制轉寄功能。通過開啟imci_ignore_unsupported_isolation_level參數,允許這些會話的請求被轉寄至列存節點執行,以利用列存加速能力。

  • 新增json_arrayagg運算式,用於在列存索引(IMCI)查詢中將多行結果彙總為一個JSON數組,提升了對JSON格式資料的處理能力。

  • 為Orca功能(相容Redis協議)適配了資源管控(Resource Control),允許通過參數管理Orca系統整體的CPU資源使用率,預設值為100%。

  • 為Orca功能(相容Redis協議)新增對PUBSUB命令的支援,包括PUBLISHSUBSCRIBEUNSUBSCRIBEPSUBSCRIBEPUNSUBSCRIBEPUBSUB CHANNELSPUBSUB NUMPATPUBSUB NUMSUB,擴充了訊息發布與訂閱能力。

  • SQL Trace功能新增採樣記錄實際SQL語句並存入shared SQL的能力,便於資料庫管理員對超長或高頻的慢查詢進行精準排查與最佳化。

  • 新增參數rds_max_tmp_disk_space,用於控制大查詢產生的暫存資料表對本地磁碟空間的總用量,防止磁碟被佔滿。

  • 新增在表結構刪除後,dbms_oss.delete_table_file支援清理OSS上分區表對應檔案。

  • 新增資料清理(TTL)功能現已COPY類DDL文法。目前,僅支援INPLACE類DDL。

效能最佳化

說明

  • 最佳化HTAP行列分流方案的代價估算模型,允許其基於串列執行開銷進行計算,而非依賴並行最佳化後的代價,從而在特定情境下做出更優的執行計畫選擇。

  • 新增行存與列存執行運算元內部操作耗時的測量功能,為行列代價模型的係數擬合與自動最佳化提供了精確的資料支援。

  • 計劃固化 (Statement Outline)新增記錄原始SQL語句的功能,支援在當前環境中依據原始SQL重建Outline,提升了執行計畫管理與固化的靈活性。

  • 重構Orca(相容Redis協議)的命令處理結構並最佳化鎖路徑,使其整體讀寫效能提升約10%。

  • 最佳化分區表的查詢效能,修複了查詢最佳化階段(如MEP)產生的新分區鍵常量條件無法觸發二次分區剪枝的問題,並使nested outer join的內表也能應用分區剪枝。

  • 最佳化union查詢中存在大量query block時的處理邏輯,解決了find_cloned_select_lex函數耗時過長導致單核CPU滿載的問題。

  • 最佳化海量資料情境下列存節點重啟時的中繼資料載入過程,避免了因中繼資料列表過長導致的記憶體溢出(OOM)問題。

  • 統一列存索引(IMCI)相關的本地檔案命名方式,使其不再因節點角色而異,簡化了高可用切換時的檔案管理。

  • 最佳化列存索引唯讀節點的後台彈性線程池在擷取任務狀態時的邏輯,降低了其CPU資源佔用。

問題修複

說明

  • 修複在特定條件下推情境中,並行查詢可能導致叢集崩潰的問題。

  • 修複唯讀節點在讀取大型JSON欄位或被頻繁部分更新的JSON欄位時,部分情境下可能出現資料不一致的問題。

  • 修複列存索引(IMCI)的NCI(Non-Clustered Index)插入lru cache失敗時,未能自動觸發擴容的問題。

  • 修複因向量索引資料檔案未及時清理,導致儲存空間異常增長的問題。

  • 修複在聚集合函式查詢的行存執行階段,因Item_sum_sum::resolve_type函數對dec_buffs成員初始化異常而導致的記憶體錯誤。

  • 修複列存索引(IMCI)中向量檢索查詢可能錯誤地回退到行存執行,以及標量過濾查詢最佳化工具代價選擇不佳的問題。

  • 修複dbms_oss.list_table_file命令在展示OSS檔案清單時可能出現的問題。

  • 修複對帶有列存索引(IMCI)的表執行ONLINE DDL時,因預設攢批寫入導致讀寫(RW)節點記憶體溢出(OOM)的問題。

  • 修複當帶有列存索引(IMCI)的ORC混合分區表表名中包含特殊字元時,執行DDL操作可能導致叢集崩潰的問題。

  • 修複在寫入壓力較大、觸發B-Tree索引結構調整期間,唯讀節點可能查詢不到部分記錄的問題。

  • 修複為無主鍵但包含唯一鍵(UNIQUE KEY)的表添加列存索引(IMCI)時,可能導致叢集異常的問題。

  • 修複通過dbms_dlm.archive_partition2table歸檔分區表資料至OSS外表時的許可權校正問題,現已降低許可權要求,僅需INSERTCREATEDROPALTER許可權即可操作。

  • 修複Orca(相容Redis協議)中,LPOS命令在MAXLEN選項值超過列表本身長度時導致叢集崩潰的問題。

  • 修複讀取ORC格式冷存表資料時,可能存在的記憶體流失問題。

  • 修複部分查詢因記憶體使用量量計算不準確,導致部分查詢返回OOM Error而執行失敗的問題。

  • 修複多主叢集(Limitless)在大壓力下查詢效能可能下降的問題。

  • 修複因字元集長度不一致,導致查詢最佳化中常量條件傳遞失效的問題。

  • 修複多主叢集(Limitless)在彙總節點上執行CREATE ... IF NOT EXISTS語句後,gtid_executed出現空洞的問題。

  • 修複多主叢集(Limitless)主備節點在高可用切換期間,可能導致叢集崩潰的問題。

  • 修複列存索引(IMCI)查詢中同時包含DISTINCTAVG彙總函式時,可能返回錯誤結果的問題。

  • 修複因Item_func_conv_charsetresult_field在SQL結束後未清理,導致重用時叢集崩潰的問題。

  • 修複多主叢集(Limitless)下,本地唯讀(RO)節點熱切換為讀寫(RW)節點後,對列存索引(IMCI)表執行DML操作可能觸發RW節點崩潰的問題。

  • 修複在列存索引(IMCI)上執行INSTANT DDL期間,釋放索引時可能因野指標訪問導致的問題。

  • 修複並行查詢在多層derived table嵌套情境中,可能觸發叢集崩潰的問題。

  • 修複CREATE PARTITION TABLE時,因未更新主DD(Data Dictionary)資訊導致資料清理(TTL)資訊丟失的問題。

  • 修複自適應執行能力adaptive ordering)最佳化在LIMIT OFFSET語句上無法正確自適應的問題。

  • 修複執行ORDER BY DISTANCE進行向量相似性排序時,對於接近0的距離值可能出現排序錯誤的問題。

  • 修複在彈性並行查詢(Elastic Parallel Query)中,當存在多層shared子查詢嵌套時,MPP跨機執行可能引髮結果不正確或叢集崩潰的問題。

  • 修複當查詢中存在遞迴CTE(Common Table Expression)時,列裁剪最佳化可能導致叢集崩潰的問題。

  • 修複查詢快取(Query Cache)在多線程並發訪問下,可能訪問非法記憶體的問題。

  • 修複Orca(相容Redis協議)中,為雜湊(Hash)欄位設定到期時間時,若包含重複欄位可能導致叢集崩潰的問題。

  • 修複多主叢集(Limitless)在高可用切換後,可能導致叢集無法啟動或資料無法持久化的問題。

  • 修複在唯讀節點上訪問空間索引時,可能擷取到重複資料的問題。

  • 修複列存索引(IMCI)json_valid函數當第一個參數為varchar類型時,行列存執行結果可能不一致的問題。

  • 修複開啟並行查詢時,因EXISTS子查詢轉換為SEMI JOINduplicate weedout策略)後,導致結果集出現重複資料的問題。

  • 修複列存索引(IMCI)在共用儲存形態下,列存索引唯讀節點的冷存表列索引可能缺失的問題。

  • 修複舊版本查詢中開啟自適應彙總後,可能導致叢集偶發崩潰的問題。

  • 清理代碼中對壓縮行狀態的不必要檢查,以避免在特殊情況下觸發非預期的錯誤。

  • 修複在執行高頻DDL操作的情境下,列存索引唯讀節點可能出現複寫延遲的問題。

8.0.2.2.30.2(2025.08.20)

問題修複

說明

  • 修複在列存索引(IMCI)功能中,當deltastore執行swap任務時,可能因pax頁長度溢出uint32或遇到null 指標而導致節點crash的問題。

  • 修複因全域變數初始化順序不當,導致列存索引(IMCI)一寫多讀的Follower檔案操作被意外禁止的問題。

  • 修複在極小機率下,交易回復時後台清理(purge)進程可能導致二級索引損壞的問題。

8.0.2.2.30.1(2025.07.03)

效能最佳化

說明

問題修複

說明

  • 修複基於成本的查詢改寫時,若SQL同時包含inline view與標量子查詢,改寫階段可能發生崩潰的問題。

  • 修複Hybrid Plan模式下 列存索引(IMCI)在執行分區表查詢時,Index Join偶發觸發報錯的問題。

  • 修複在先行編譯(prepare statement)模式下,部分語句無法正確路由至列存節點的問題。

  • 修複 列存索引(IMCI)Delta 模組序列化過程中復原行判斷遺漏,導致null 指標訪問並引發叢集崩潰的問題。

  • 修複開啟參數imci_implicit_orderby_rollup時,部分查詢無法下推至列存索引執行的問題。

  • 修複因IN-LIST列表過長導致查詢無法命中列存索引的問題。

8.0.2.2.30(2025.07.01

新增功能

說明

  • 新增列加密功能,協同TDE功能為指定列進行加密儲存,訪問資料時,可使用解密函數擷取未經處理資料。

  • 新增多值條件(IN-LIST)或邏輯析取(OR)的查詢運算式將複合條件解構為多個獨立子查詢的UNION ALL聯合操作,可更高效產生訪問索引計劃。

  • Delete語句新增支援Index Hint,即通過USE INDEX、IGNORE INDEX文法指定特定索引的使用。可通過參數delete_enable_index_hint開啟此功能。

  • Lateral橫向派生表(Lateral Derived Table)新增支援並存執行,在並行查詢情境支援下推到Worker執行。

  • 列存索引(IMCI)新增支援在子查詢中含有Roll UP在投影列中包含帶有彙總函式。

  • 列存索引(IMCI)新增向量索引功能,支援基於ANN演算法的近似檢索。

效能最佳化

說明

  • 最佳化刪除列存索引唯讀節點後,垃圾檔案清理的非同步作業和流控最佳化。

  • 最佳化ALTER TABLE冷存歸檔必須保留一個InnoDB分區的限制,從而支援歸檔所有分區。支援REORGANIZE PARTITION將歸檔完的分區表的OSS分區恢複成InnoDB分區。

  • 最佳化列存索引(IMCI) HASH JOIN構建Hash表的過程,HASH表的具體實現,大幅提高列存索引(IMCI)HASH JOIN的效能。

問題修複

說明

  • 修複常量表是包含多內表的LEFT JOIN外表時並行可能導致崩潰的問題。

  • 修複Orca功能SCAN命令可能不返回結果,始終處於搜尋的問題。

  • 修複Sharding Outline無法正確支援表別名和Order和Limit By的問題。

  • 修複Default Value參考資料表,因基表與依賴表未下推至相同分區執行導致崩潰問題。

  • 修複存在SET類型的表,添加索引時需要鎖表的問題。

  • 修複在使用REDUNDANT行格式且包含秒級加列的表中,將NULL值UPDATE為空白字串時可能引發的叢集崩潰問題。

  • 修複列存索引(IMCI)中DISTANCE運算式計算DOT相似性的傳回值的問題。

  • 解決冷存歸檔ORC格式表中有BIT、ENUM、SET類型時異常報錯的問題。

  • 修複INDEX MERGE與索引條件下推(ICP)的計划下自適應執行統計有偏差的問題。

  • 修複在讀寫(RO)節點上讀取JSON資料在部分情境下可能返回INVALID JSON報錯的問題。

  • 解決物化表中ORDER BY被合并至外層可能引發崩潰的問題。

  • 修複禁止函數下推導致的彈性並行查詢(Elastic Parallel Query)結果不正確的問題。

  • 修複生命週期管理(DLM)歸檔異常導致的暫存資料表殘留,增加錯誤記錄檔。修複DLM在分區MDL鎖歸檔過程中第二次升級X鎖衝突導致的ASSERT崩潰問題。

  • 修複分區表 RENAME DDL表後列存索引(IMCI) INFORMATION_SCHEMA表中table_name緩衝未更新的問題。

  • 修複prepare execute實現中字串類型可能涉及到character_set_client的定序資訊的問題。

  • 修複INSTANT DDL提交後,基於老版本的列存索引資訊更新任務觸發斷言的問題。

  • 修複ePQ和performance_schema同時開啟,在高並發情境可能導致叢集崩潰的問題。

  • 修複MySQL社區版不會將LIMIT關鍵字納入查詢效能代價問題。

  • 修複使用imci_analyze_query進行列存索引(IMCI)查詢的profiling時,偶發的計時不準確問題。

  • 修複不支援的自訂函數會被通過自適應分流至列存導致查詢報錯的問題。

  • 修複混合最佳化器的IMCI統計資訊後台抓取線程崩潰的問題。該漏洞在包含虛擬列(Virtual Column)的情況下具有一定機率觸發。

  • 修複庫表恢複分區表 包含INSTANT ADD COIUNMN並且分區數量大於等於10個恢複完成後訪問可能出現的問題。

  • 修複列存索引(IMCI)在處理巨量資料量時執行變長字串的GROUP BY操作時可能引發的記憶體溢出錯誤問題。

  • 修複唯讀節點執行show binlog events報錯檔案不存在的問題。

  • 修複列存索引(IMCI)中開啟全域強一致性(高效能模式)後,查詢偶發無法使用Hybrid Plan的問題。

  • 修複列存索引(IMCI)內部線程池彈性縮容時產生的記憶體流失問題,避免Serverless叢集PCU調整時記憶體流失。

  • 修複列存索引(IMCI)在載入NCI(Non-Clustered Index)期間執行DROP INDEX操作可能導致載入過程阻塞的問題。

  • 修複在執行交換分區寫入DDL日誌之前發生崩潰的問題,叢集的崩潰恢複過程跳過DDL日誌的應用,從而導致了叢集異常。

  • 修複在分區表並行情境下, 涉及PartitionWise 重分區(Repartition)並行計劃的並行度超過max_parallel_degree的問題。

8.0.2.2.29.2(2025.06.06)

問題修複

說明

  • 修複列存索引(IMCI)Hybrid Plan的Index Join在執行帶Post FilterAnti Semi Join模式時可能引發崩潰的問題。

  • 修複Online DDL操作期間,動態掩碼(Mask)在更新或刪除資料時,由於列資料不一致問題可能導致系統崩潰的潛在風險。

  • 修複資料清理(TTL)在清理資料時,若發生死結導致交易回復,可能引發崩潰的問題。

  • 修複資料清理(TTL)線程在關閉過程中若未釋放事務(trx)對象,可能導致崩潰的問題。

  • 修複列存索引(IMCI)執行增量排序(sort compaction)時,可能引發的OOM(Out of Memory)問題。

8.0.2.2.29.1(2025.05.14)

問題修複

說明

修複列存索引(IMCI)內部線程池在彈性縮容過程中產生的記憶體泄露的問題,有效避免Serverless叢集在PCU(PolarDB Capacity Unit)動態調整時出現記憶體流失。

8.0.2.2.29(2025.05.08

新增功能

說明

  • Serverless功能唯讀節點(RO)新增parse buf(解析日誌記憶體塊)無用記憶體回收功能,可降低部分記憶體使用量率。

  • 新增視窗函數支援frame語句,目前支援當前Rows frame和預設的Range frame情境。

  • 新增支援以Online DDL方式修改高壓縮引擎(X-Engine)的自增列值。

  • 新增Pruner統計指標,通過查詢INFORMATION_SCHEMA.IMCI_SQL_PROFILING視圖中擷取TableScan運算元的資料區塊剪枝(Pruning)情況。

  • 新增支援通過Hint對View定義內的語句進行執行計畫幹預。

  • 新增支援在INFORMATION_SCHEMA.POLAR_INDEX_STATISTICS視圖中,查詢相關係統表來擷取每個表的索引命中統計資訊。

  • 新增FORCE STORAGE OSS選項,支援在刪除冷資料操作時,同步刪除OSS上的資料。

  • 新增Range-prefix Skip Scan機制,擴充Skip Scan適用範圍,最佳化複雜查詢的執行效率。

  • 新增列存索引(IMCI)對Hybrid Plan功能的擴充,使其支援未顯式定義主鍵的表。

  • 新增參數adaptive_digest_length_multiplier,實現根據SQL文本長度動態調整Digest預分配記憶體大小的功能。

  • 新增參數oss_orc_read_buffer_size,支援動態配置ORCReader的讀緩衝大小。

  • 新增參數Innodb_ttl_finished_job_expired_days,用於控制清理ttl_job_history表內到期的資料。

  • 列存索引(IMCI)中Hybrid Plan的Index Join新增對Semi JoinAnti Semi Join模式的支援。

效能最佳化

說明

  • 最佳化列存索引(IMCI)查詢在IN-List時,提高查詢效能。

  • 最佳化高並發下使用max_execution_time功能時,資料庫效能變差的問題。

  • 最佳化Orca(相容Redis協議)支援HASH資料類型按照field維度設定TTL到期時間。

  • 最佳化高效能全域一致性相關變數的設定從系統層級調整為Connection層級,支援在資料庫代理中配置是否開啟。

  • 最佳化列存索引(IMCI)中,Hash Groupby的實現機制,實現根據資料分布特徵自適應選擇分區策略與演算法提升查詢效能。

問題修複

說明

  • 修複ALTER TABLE命令可能執行失敗導致資料庫重啟的問題。

  • 修複列存節點快照功能,避免長時間鎖等待而導致的偶發監控卡頓問題。

  • 修複分區表中分區資料歸檔時,受並發線程影響導致的死結問題。

  • 修複在查詢中包含IS NULL條件時,並行查詢可能返回錯誤結果的問題。

  • 修複有序索引的自適應選擇功能在特定類型查詢情境下可能導致叢集崩潰的問題。

  • 修複列存索引(IMCI)多機共用架構下偶發的ImciFollower記憶體資料區塊堆積的問題。

  • 修複SQL語句持有表級MDL(中繼資料鎖)但未持有分區級MDL鎖的情況下,出現執行DROP PARTITION語句刪除分區,可能導致SQL訪問崩潰的問題。

  • 修複高壓縮引擎(X-Engine)中Index_merge路徑在處理過程中未能正確擷取Instant_ddl中繼資料,導致資料查詢出現異常。

  • 修複列存索引(IMCI)混合物化Mixoutput讀取timestamp類型資料未做時區轉化的問題。

  • 修複DDL操作後,列存節點偶發訪問到DDL前快取資料的問題。

  • 修複在有大量欄位的表上進行秒級修改欄位操作時存在的記憶體訪問越界問題。

  • 修複開啟非同步執行功能時,動態修改thread_pool_size參數可能導致資料庫崩潰的問題。

  • 修複對存在虛擬列表執行ONLINE DDL時偶發的ROW LOG讀寫越界問題。

  • 修複String類型和向量類型轉換問題,允許多種空白字元的使用。

  • 修複列存索引(IMCI)Serverless叢集在主節點規格比較大時無法縮容問題。

  • 修複列存索引(IMCI)在處理帶有ROLLUP的查詢時,無法通過開關(imci_implicit_orderby_rollup)控制對查詢結果進行排序的問題。

  • 修複SQL查詢包含GROUP BY + WITH ROLLUP子句,且GROUP BY列引用derived table(派生表)中的列時,如果該 derived table 被最佳化器展開(flatten),可能會導致資料庫進程崩潰的問題。

  • 修複多主叢集有全域唯讀節點情況下,新增讀寫節點會導致新節點啟動失敗的問題。

  • 修複多主叢集備節點在節點前切換資料庫或對象訪問點時可能會出現崩潰的問題。

  • 修複動態關閉innodb_polar_log_rdma_transfer參數後無法動態修改innodb_log_buffer_size的問題。

  • 修複SQL中的關聯子查詢時包含LIMIT 1時,查詢不能在列存索引(IMCI)上執行的問題。

  • 修複建立在Virtual Column(虛擬列)上的二級索引可能出現的索引損壞問題。

8.0.2.2.28(2025.03.12)

新增功能

說明

  • 新增列統計資訊的自動採集功能,及時更新統計資料。

  • 新增一個用於動態控制自適應行列分流的代價閾值參數,與代價分流閾值相區分。

  • 新增對RANGE分區表分達式的支援,引入了函數cast_for_range(),該函數可將double類型資料轉換為int類型,實現對double類型分區鍵欄位支援。

  • PolarDB MySQL版新增非同步執行能力,支援非同步處理鎖等待以及非同步日誌刷盤等待邏輯。

  • Orca新增全面的串連監控指標,包括總串連數、當前活躍串連數以及當前請求數。

  • 新增explain analyze語句對Outline的調用支援,使其功能與explain語句一致,提升查詢最佳化能力。

  • 新增對以下GIS相關函數的支援:ST_HAUSDORFFDISTANCEST_FRECHETDISTANCEST_LineInterpolatePointsST_LineInterpolatePointST_PointAtDistanceST_UnionST_DifferenceST_BufferST_CollectST_SymdifferenceST_Intersection,豐富了GIS功能支援。

  • 新增列存索引(IMCI)查詢優先順序調度功能,允許列存查詢分配優先順序,最佳化查詢執行效率。

  • 資料清理(TTL)功能新增與TiDB等其他產品的相容性,新增支援TTL = 'b' + INTERVAL 3 MONTH;文法。

效能最佳化

說明

  • 最佳化分區代價模型,針對不包含分區鍵的索引上的等值查詢和IN條件查詢,在代價估算中引入了分區數因子,提升代價估算的準確性。

  • 最佳化演算法選擇邏輯,支援部分關聯子查詢使用高效HASH JOIN執行查詢。

  • 最佳化列存索引(IMCI)在處理複雜INEXISTS子查詢時的效能,同時改進了最佳化器對子查詢的處理邏輯,從而顯著提升了查詢效率與執行效能。

  • 最佳化多主叢集(Limitless)支援Partition Redo和非同步Redo機制,有效提升了遊戲情境下的系統輸送量,從而更好地滿足高並發需求。

  • 最佳化Orca在處理Redis的SCAN命令附帶COUNT選項時的邏輯,確保返回元素個數的準確性和一致性。

  • 最佳化在IMCI中增強了對SELECT DISTINCT ...語句的支援,允許存在non-full-groupby的情況,從而提高了與更多情境的相容性,最佳化了查詢的靈活性和適用性。

  • 最佳化多層嵌套的IN子查詢的最佳化邏輯,使其能夠使用列存索引加速執行。

問題修複

說明

  • 修複當對INTERVAL RANGE分區執行INSERT ON DUPLICATE KEY UPDATE操作時,可能會存在訪問非法記憶體位址的問題。

  • 修複庫表恢複功能和檔案空間擴充loose_innodb_initialize_in_space_extend參數控制值不能填寫0導致功能無法相容問題。

  • 修複列存索引(IMCI)中的Hybrid Plan在Index Join機制中新增了對Semi Join和Anti Semi Join模式的支援,進一步擴充了查詢最佳化能力,提升了複雜查詢情境的執行效率。

  • 修複在使用TempTable引擎時,CTE(公用運算式)在多個引用情境下可能導致系統崩潰的問題。

  • 修複當儲存的資料區塊中所有資料完全一致時,查詢可能觸發異常的問題,提升了系統在資料一致性情境下的穩定性和查詢可靠性。

  • 修複唯讀節點未同步gtid_purged變數導致查詢結果為空白值的問題。

  • 修複在進行庫表恢複時,源表若存在列存索引可能導致任務中斷的問題。

  • 修複列存索引(IMCI)中運行中關閉Hybrid Plan時可能導致崩潰的問題。

  • 修複Orca網路架構在連線逾時或主動關閉時可能存在的通訊端泄漏問題。

  • 修複在開啟叢集非阻塞DDL時,小機率出現的因終止DDL對應串連而導致語句無法正常退出的問題。

  • 修複DLM分區歸檔流程,在最後階段將原本申請的表級MDL(中繼資料鎖)調整為分區級MDL,減少了鎖粒度,提升了系統並發效能和分區歸檔效率。

  • 修複混合負載下的記憶體搶佔不準確問題。

  • 修複XENGINE分區在執行optimize操作時需重建表的問題,最佳化了操作流程,顯著提升了最佳化效率和系統運行效率。

  • 修複物化表合并後排序操作導致的並行查詢叢集崩潰問題。

  • 修複物化表裁剪功能與WITH ROLLUP特性共存時的潛在崩潰問題。

  • 修複CREATE TABLE AS SELECT語句建立暫存資料表時的叢集崩潰問題,提升系統穩定性。

  • 修複多主叢集(Limitless)訪問統計資訊表可能引發的叢集崩潰問題。

  • 修複IMCI查詢中常量範圍過濾(const between field1 and field2)情境下的索引選擇錯誤問題。

  • 修複多主叢集情境列存索引Online DDL過程未適配LLSN(Logical Log Sequence Number)邏輯導致漏回放列存Redo日誌的問題。

  • 修複高壓縮引擎(X-Engine)在執行DDL變更後舊錶空間回收泄露的問題。

  • 修複列存索引(IMCI)分區表查詢期間,執行explain for connection語句導致的崩潰問題。

  • 修複中繼資料恢複階段MDL鎖擷取失敗導致列存索引資料無法恢複的問題。

  • 修複因未使用區分大小寫字串比較函數而導致帶name過濾條件的IMCI I_S(Information_Schema庫下IMCI相關視圖)查詢結果不完整的問題。

  • 修複高壓縮引擎(X-Engine)唯讀節點重啟時非預期清理資料區塊元資訊問題。

  • 修複串連數超過65536時MDL鎖系統可能出現異常的問題。

8.0.2.2.27.2(2025.01.23)

問題修複

說明

  • 修複在大事務執行過程中列存節點叢集重啟時,崩潰恢複過程中可能出現的列索引資料冗餘問題。

  • 修複了TTL功能的文法問題,將TTL調整為非保留關鍵字,以確保與社區的相容性。

8.0.2.2.27.1(2025.01.14)

新增功能

說明

問題修複

說明

修複通過列存索引(IMCI)讀取JSON或GIS大欄位時可能出現偶發資料讀取失敗的問題。

2024年

8.0.2.2.27(2024.12.28

新增功能

說明

  • 新增支援Global Database Network情境下從叢集添加唯讀列存節點。

  • 新增支援REORGANIZE PARTITION和 LIST DEFAULT HASH分區合并LIST分區至HASH分區,拆分VALUE到新的LIST分區。

    新增HASH分區的首碼作為整體HASH分區名。

  • 新增大寬表支援,擴充高壓縮引擎(X-Engine)支援表的最大列數為10000列。

  • 新增DISTANCE運算式,支援計算餘弦相似性、點積相似性和歐式距離。

  • 新增使用IMCI加速向量檢索查詢的特性。

  • 新增支援table value constructor文法,DML語句中可使用VALUES ROW文法。

  • 新增支援通過預存程序為資料庫中所有表大量新增列存索引

  • 在Outline中新增支援分表情境的功能,單條Outline可以匹配所有具有相同模板的語句,適用於不同的分表。

  • 新增非索引列統計資訊的採集和使用,以及統一擴充統計資訊的管理方式。

  • 新增在執行過程中根據實際情況動態調整Order Index選取結果的能力。

效能最佳化

說明

  • 最佳化列存唯讀節點的啟動速度,支援列存引擎從列存快照位點獨立啟動。

  • 最佳化列存節點在海量表情境下的啟動時間。

  • 最佳化Orca功能,支援在Redis的AUTHHELLO命令中通過username:password文法指定使用者名稱和密碼。

  • 最佳化X-Engine儲存引擎的DDL情境,系統將自動開啟X-Engine的預提交功能。

  • 最佳化Orca中對有序集合(Sorted Set)資料類型的鎖粒度進行了調整,僅對二級索引使用標誌位進行鎖判斷。

  • 最佳化邏輯預讀中線程啟動和銷毀的代碼,並簡化了記憶體檢查邏輯。

問題修複

說明

  • 修複含有視圖的表,在進行HA(節點切換之後),執行DDL可能報錯或者未生效的問題。

  • 修複參數並行查詢相關參數pq_enable_xengine_mpp設定OFF後沒有生效的問題。

  • 修複分區表Autoinc偶發性發生回退的問題,會導致INSERT出現重複鍵(Duplicate key)錯誤。

  • 修複開放Session層級的binlog_rows_query_log_events許可權,支援使用DMS執行SQL備份與復原。

  • 修複設定flagset類型變數如(optimizer_switch)時,存在重複項將不再報錯的問題。

  • 修複開啟win magic開關後,由於base_ref_items空間不足導致的子查詢改寫溢出,從而引發進程崩潰的問題。

  • 修複INLIST轉JOIN結果集時,當INLIST的VALUES裡面有空值的情況下,會導致運算式求值錯誤。

  • 修複在計劃中使用HASH JOIN時,可能導致並行查詢結果錯誤的問題。

  • 修複在查詢中存在Lateral Derived Tables (LDT) 時可能導致結果錯誤的問題。

  • 修複Orca對Redis協議事務模型的支援,包括WATCH、UNWATCH、MULTI、EXEC和DISCARD命令。

  • 修複Orca功能中BITOPZRANGEBYLEXZRANGEBYSCOREZREVRANGEBYSCOREZREVRANGEBYLEX的返回結果與Redis官方不一致的問題。

  • 修複涉及SUBSTRING_INDEX運算式在處理GROUP_CONCAT輸出Null 字元串且分隔字元長度大於1時,可能導致進程崩潰的情況。

  • 修複CAST(REGEXP_SUBSTR(...)) AS DECIMAL語句導致進程崩潰的問題。

  • 修複DDL變更VECTOR類型的維度時未做資料校正的問題。

  • 修複小版本升級時,從不支援向量檢索的版本升級至支援向量檢索的版本,導致資料字典出現不一致的問題。

  • 修複使用分區MDL時,小機率情境下主鍵索引上出現重複資料的問題。

  • 修複IMCI Serverless與內部記憶體彈性相容性、擴縮容異常等問題。

  • 修複同時使用ALTER TABLE DROP語句刪除多個全文索引(FTS)時可能導致元資訊殘留的問題。

  • 在使用唯一索引時沒有利用索引值的唯一性進行加速的問題。

  • 修複在支援線上分區維護(MDL)後,在極端情境下對含有Autoinc的表進行DML操作時引發叢集崩潰的問題。

  • 修複multi-value index在MRR中被選中時可能導致叢集崩潰的問題。

  • 修複Orca在執行部分管理命令時(如 ORCA_OPTIMIZEAUTHACL命令)無需鎖定資料庫的問題。

  • 修複在執行包含BLOB資料的查詢時,使用並行查詢可能導致結果錯誤。

  • 修複自適應執行中對於特定類型的Query不能正確路由的問題。

  • 修複冷資料情境下,歸檔為CSV或ORC格式後,RO節點中繼資料快取沒有更新的問題。

  • 修複在對包含BLOB欄位的表進行DDL操作時,由於記憶體問題導致叢集崩潰的情況。

  • 修複列存索引(IMCI)重建時不支援Online的問題,提高了列存索引的可用性。

8.0.2.2.26.1(2024.11.21

問題修複

說明

修複在發生RO節點切換為RW節點後,執行INSERT ... ON DUPLICATE KEY UPDATE語句導致表Autoinc回退問題。

8.0.2.2.26(2024.10.21

效能最佳化

說明

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

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

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

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

問題修複

說明

  • 修複子查詢嵌套中使用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(2024.08.08)

新增功能

說明

  • 新增支援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過程中頻繁建立和刪除表檔案時的效能穩定性。

問題修複

說明

  • 修複並行查詢中,同一個CTE(Common Table Expression)相互Hash JOIN引發崩潰的問題。

  • 修複當查詢擁有過多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(2024.05.20)

新增功能

說明

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

問題修複

說明

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

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

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

8.0.2.2.23(2024.05.08)

新增功能

說明

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

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

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

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

效能最佳化

說明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

問題修複

說明

  • 修複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(2024.04.17)

效能最佳化

說明

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

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

問題修複

說明

  • 修複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(2024.04.07)

效能最佳化

說明

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

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

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

問題修複

說明

  • 修複執行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(2024.01.17)

新增功能

說明

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

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

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

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

效能最佳化

說明

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

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

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

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

問題修複

說明

  • 修複對叢集執行升級操作時,可能導致根據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的情境下,只返回第一個分區中的資料的問題。

2023年

8.0.2.2.20(2023.12.20)

效能最佳化

說明

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

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

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

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

問題修複

說明

  • 修複當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(2023.11.13)

問題修複

說明

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

8.0.2.2.19(2023.10.30)

新增功能

說明

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

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

效能最佳化

說明

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

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

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

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

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

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

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

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

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

問題修複

說明

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

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

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

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

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

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

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

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

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

8.0.2.2.18(2023.09.17)

問題修複

說明

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

8.0.2.2.17(2023.08.23)

效能最佳化

說明

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

問題修複

說明

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

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

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

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

8.0.2.2.16.1(2023.07.25)

問題修複

說明

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

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

8.0.2.2.16(2023.07.23)

新增功能

說明

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

效能最佳化

說明

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

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

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

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

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

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

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

問題修複

說明

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

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

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

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

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

8.0.2.2.15(2023.06.28)

新增功能

說明

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

效能最佳化

說明

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

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

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

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

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

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

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

問題修複

說明

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

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

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

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

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

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

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

8.0.2.2.14(2023.05.24)

新增功能

說明

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

  • 新增行級壓縮功能。

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

效能最佳化

說明

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

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

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

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

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

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

問題修複

說明

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

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

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

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

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

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

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

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

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

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

8.0.2.2.13(2023.04.21)

新增功能

說明

  • 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。

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

效能最佳化

說明

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

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

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

  • 列存索引支援REGEXPR函數。

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

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

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

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

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

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

問題修複

說明

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

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

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

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

8.0.2.2.12(2023.03.20)

新增功能

說明

  • 新增非阻塞DDL功能。

  • 新增SQL Trace功能。

  • 新增SQL Detail功能。

  • 新增Auto Plan Cache功能。

  • 新增列存索引功能。

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

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

效能最佳化

說明

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

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

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

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

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

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

問題修複

說明

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

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

8.0.2.2.11.1(2023.02.21)

新增功能

說明

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

效能最佳化

說明

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

問題修複

說明

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

8.0.2.2.11(2023.02.20)

效能最佳化

說明

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

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

8.0.2.2.10(2023.01.09)

新增功能

說明

普通錶轉換為分區表的文法增加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操作不受影響。

問題修複

說明

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

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

2022年

8.0.2.2.9(2022.12.23)

效能最佳化

說明

  • 忽略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文法下推至遠端資料庫執行。

問題修複

說明

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

8.0.2.2.8(2022.11.30)

新增功能

說明

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

  • 支援熱備切換功能。

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

效能最佳化

說明

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

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

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

    說明

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

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

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

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

問題修複

說明

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

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

8.0.2.2.7(2022.10.25)

效能最佳化

說明

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

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

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

問題修複

說明

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

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

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

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

8.0.2.2.6.1(2022.09.17)

問題修複

說明

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

8.0.2.2.6(2022.08.19)

效能最佳化

說明

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

  • 增強CCL支援DDL限流。

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

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

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

問題修複

說明

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

8.0.2.2.5.1(2022.07.22)

效能最佳化

說明

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

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

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

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

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

問題修複

說明

  • 修複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(2022.05.31)

新增功能

說明

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

問題修複

說明

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

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

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

8.0.2.2.3(2022.04.19)

問題修複

說明

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

8.0.2.2.2(2022.03.31)

效能最佳化

說明

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

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

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

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

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

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

8.0.2.2.1(2022.03.15)

新增功能

說明

新增SET INTERVAL文法來修改INTERVAL RANGE分區的INTERVAL類型和數值,並且可以實現RANGE分區表與INTERVAL RANGE分區表之間的相互轉換。具體請參見修改INTERVAL RANGE分區轉換分區表

效能最佳化

說明

問題修複

說明

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

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

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

8.0.2.2.0(2022.01.12)

效能最佳化

說明

  • 彈性並行查詢(Elastic Parallel Query)能力提升。將線性加速能力提升了一個等級,引入了多階段並行計算能力。

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

  • 支援子查詢解關聯。

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

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

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

問題修複

說明

  • 支援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)的問題。

2021年

8.0.2.1.4.1(2021.10.26)

效能最佳化

說明

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

問題修複

說明

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

2020年

8.0.2.1.4(2020.12.01)

新增功能

說明

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

問題修複

說明

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

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

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

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

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

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

8.0.2.1.3(2020.10.26)

效能最佳化

說明

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

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

問題修複

說明

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

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

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

8.0.2.1.2(2020.09.27)

效能最佳化

說明

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

8.0.2.1.1(2020.08.26)

效能最佳化

說明

最佳化叢集的寫效能。

問題修複

說明

修複記憶體流失問題。

8.0.2.1.0(2020.07.22)

新增功能

說明

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

效能最佳化

說明

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

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

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

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