跳到内容

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 速度更快;
  • 对字符集转换的常见情况进行了性能改进;
  • 测试套件加速。

此列表并不完整。

华夏公益教科书