25.12.16.2 Performance_timerstable

performance_timerstable 显示了可用的事件计时器:

mysql> SELECT * FROM performance_schema.performance_timers;
+-------------+-----------------+------------------+----------------+
| TIMER_NAME  | TIMER_FREQUENCY | TIMER_RESOLUTION | TIMER_OVERHEAD |
+-------------+-----------------+------------------+----------------+
| CYCLE       |      2389029850 |                1 |             72 |
| NANOSECOND  |      1000000000 |                1 |            112 |
| MICROSECOND |         1000000 |                1 |            136 |
| MILLISECOND |            1036 |                1 |            168 |
| TICK        |             105 |                1 |           2416 |
+-------------+-----------------+------------------+----------------+

如果与给定计时器名称关联的值为NULL,则平台上不支持该计时器。不包含NULL的行 table 示您可以在setup_timers中使用哪些计时器。有关事件计时如何发生的说明,请参见第 25.4.1 节“性能架构事件计时”

Note

从 MySQL 5.7.21 开始,不推荐使用 Performance Schema setup_timerstable,并且在 MySQL 8.0 中将其删除,在performance_timerstable 中的TICKS行也是如此。

performance_timerstable 具有以下列:

  • TIMER_NAME

配置setup_timerstable 时引用计时器的名称。

  • TIMER_FREQUENCY

每秒的计时器单位数。对于循环计时器,频率通常与 CPU 速度有关。例如,在具有 2.4GHz 处理器的系统上,CYCLE可能接近 2400000000.

  • TIMER_RESOLUTION

指示计时器值增加的计时器单位数。如果计时器的分辨率为 10,则其值每次都会增加 10.

  • TIMER_OVERHEAD

用给定计时器获得一个计时的开销的最小循环数。性能模式通过在初始化期间调用计时器 20 次并选择最小值来确定该值。总开销实际上是此数量的两倍,因为检测在每个事件的开始和结束时都会调用计时器。仅对定时事件调用计时器代码,因此此开销不适用于非定时事件。

performance_timerstable 不允许TRUNCATE TABLE