下performance_timers
表显示了哪些事件计时器可用:
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
表示您可以在 中使用哪些计时器
setup_timers
。有关事件计时如何发生的说明,请参阅
第 22.4.1 节,“性能模式事件计时”。
该performance_timers
表有以下列:
TIMER_NAME
setup_timers
配置表 时引用计时器的名称。TIMER_FREQUENCY
每秒计时器单元数。对于循环定时器,频率通常与 CPU 速度有关。例如,在具有 2.4GHz 处理器的系统上,
CYCLE
可能接近 2400000000。TIMER_RESOLUTION
指示计时器值增加的计时器单元数。如果计时器的分辨率为 10,则其值每次增加 10。
TIMER_OVERHEAD
使用给定计时器获得一次计时的最小开销周期数。性能模式通过在初始化期间调用计时器 20 次并选择最小值来确定此值。总开销实际上是这个数量的两倍,因为检测在每个事件的开始和结束时调用计时器。计时器代码仅针对定时事件调用,因此此开销不适用于非定时事件。