跳到內容

MariaDB/功能

來自華夏公益教科書,開放的書籍,開放的世界

本頁討論的功能是為MariaDB開發的,可能在MySQL中不存在。

執行緒池

[編輯 | 編輯原始碼]

表消除

[編輯 | 編輯原始碼]

微秒精度

[編輯 | 編輯原始碼]

SHOW PROCESSLIST、INFORMATION_SCHEMA.PROCESSLIST 和慢查詢日誌現在具有微秒精度。

微秒是時間單位,等於百萬分之一(10-6)秒。

SHOW PROCESSLIST

[編輯 | 編輯原始碼]

在 MariaDB 中,在 INFORMATION_SCHEMA.PROCESSLIST 表以及 SHOW FULL PROCESSLIST 的輸出中添加了一個額外的列 `TIME_MS`。該列顯示與列 `TIME` 相同的資訊,但單位為毫秒,具有微秒精度(`TIME` 列的單位和精度為一秒)。

`TIME` 和 `TIME_MS` 列中顯示的值是給定執行緒處於當前狀態的時間段。因此它可以用來檢查例如執行緒執行當前查詢的時間,或者空閒了多長時間。

在 MariaDB 中,`TIME` 列和 `TIME_MS` 列不受任何 @TIMESTAMP 設定的影響。這意味著它可以可靠地用於更改 @TIMESTAMP 的執行緒(如複製 SQL 執行緒)。

SHOW FULL PROCESSLIST 和 INFORMATION_SCHEMA.PROCESSLIST 的 `TIME` 列不能用來確定從屬伺服器是否滯後。為此,請改用 SHOW SLAVE STATUS 輸出中的 Seconds_Behind_Master 列。

新增 TIME_MS 列是基於由 Percona 開發的 microsec_process 補丁。

慢查詢日誌

[編輯 | 編輯原始碼]

慢查詢日誌包括執行計劃和微秒精度解析的詳細資訊。

此新增基於來自 Percona 的 microslow 補丁。

MariaDB 的程式碼在 fork 啟動後進行了一些最佳化。

一些速度增強功能是

  • CHECKSUM TABLE 速度更快;
  • 對字元集轉換的常見情況進行了效能改進;
  • 測試套件加速。

此列表並不完整。

華夏公益教科書