MySQL 8.4 Release Notes
29.12.22.6 性能计时器表
性能计时器表(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 |
| THREAD_CPU | 339101694 | 1 | 798 |
+-------------+-----------------+------------------+----------------+
如果与给定计时器名称相关联的值为 NULL
,则该计时器不支持您的平台。关于事件计时机制的解释,请参阅第29.4.1节,“性能Schema事件计时”。
性能计时器表(performance_timers
)有这些列:
-
TIMER_NAME
计时器名称。
-
TIMER_FREQUENCY
每秒计时器单位的数量。对于循环计时器,频率通常与CPU速度相关。例如,在一个2.4GHz处理器系统上,
CYCLE
可能接近2400000000。 -
TIMER_RESOLUTION
表示计时器值增加的单位数。如果一个计时器的分辨率为10,它的值每次增加10。
-
TIMER_OVERHEAD
获取一次计时所需最小的周期数。性能Schema通过在初始化时调用计时器20次并选择最小值来确定这个值。实际上,总体开销是两倍于此,因为仪表在每个事件开始和结束时调用计时器。只对有计时的事件调用计时代码,因此对于非计时事件,这个开销并不适用。
性能计时器表(performance_timers
)没有索引。
TRUNCATE TABLE
不允许对性能计时器表进行操作。