MariaDB 12.2.2 已發布,這是 12.2 分支的首個穩定版本。 MariaDB 12.2 採用滾動更新模式,延續了功能逐步開發的模式,並取代了 MariaDB 12.1。同時,MariaDB 12.3.1 也已發布,它是即將推出的 LTS 分支的候選版本,並引入了新的 binlog 實作。 MariaDB 12.2 將持續維護,直到 12.3.2 版本正式發布。
MariaDB 專案開發了一個基於 MySQL 的分支,它保持了向後相容性,並整合了額外的儲存引擎和進階功能。 MariaDB 的開發由獨立的 MariaDB 基金會監督,遵循開放透明的開發流程,不受任何廠商的影響。在許多發行版中,MariaDB 被用作 MySQL 的替代品。 Linux (RHEL、SUSE、Fedora、openSUSE、Slackware、OpenMandriva、ROSA、Arch Linux, Debian)並且已在維基百科、Google Cloud SQL 和 Nimbuzz 等大型專案中得到應用。
MariaDB 12.2 分支中的變化包括:
- 在 Oracle DBMS 相容模式下,實作了 TO_NUMBER(將字串轉換為數字)和 TRUNC(例如,將日期截斷為小時、日、月或年)函數。
- 在執行表格合併操作 (JOIN) 時,已實施最佳化,該最佳化考慮了子查詢中「GROUP BY」表達式的行的唯一性,以便更準確地預測結果行數 (out_rows) 和正確使用索引。
- 新增了最佳化器控制選項:ROWID_FILTER/NO_ROWID_FILTER 和 INDEX_MERGE/NO_INDEX_MERGE,以及在查詢中隱式指定區塊名稱的功能(可以透過名稱「select#N」引用查詢的某些部分,其中 N 為區塊編號,從而選擇性地將最佳化選項應用於這些部分)。例如:"select /*+ JOIN_ORDER(@"select#2" twenty,ten) */ …."
- 已取消對處理 JSON 的函數中結構巢狀層級的限制(先前值為 32 的 JSON_DEPTH_LIMIT 限制已被取消)。
- 在 INFORMATION_SCHEMA 模式中新增了 TRIGGERED_UPDATE_COLUMNS 表 (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS),用於顯示觸發器觸發時變更的欄位。
- INFORMATION_SCHEMA 模式中的 PARAMETERS 表實作了 PARAMETER_DEFAULT 資料列,其中包含預存程序參數的預設值。
- 已實現對「CREATE GLOBAL TEMPORARY TABLE」語句的實驗性支持,用於建立全域臨時表。這些臨時表會在會話結束後被刪除,所有使用者均可查看,但其中包含的資料特定於每個使用者。
- 測試模式下改進了對具有不同結構的表之間進行複製的支援。
來源: opennet.ru
