• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 性能模式原子和分子事件

    对于表I / O事件,通常在中有两行events_waits_current,而不是一行。例如,行提取可能会导致如下所示的行:

    Row# EVENT_NAME                 TIMER_START TIMER_END
    ---- ----------                 ----------- ---------
       1 wait/io/file/myisam/dfile        10001 10002
       2 wait/io/table/sql/handler        10000 NULL
    

    行提取导致读取文件。在此示例中,表I / O提取事件在文件I / O事件之前开始,但尚未结束(其TIMER_END值为NULL)。文件I / O事件被“嵌套”在表I / O事件中。

    发生这种情况的原因是,与其他“原子”等待事件(例如互斥锁或文件I / O)不同,表I / O事件是“分子”事件,并且包括(与其他事件重叠)。在中events_waits_current,表I / O事件通常具有两行:

    • 一行用于最近的表I / O等待事件
    • 一行用于任何类型的最新等待事件

    通常但并非总是如此,“任何”等待事件都与表I / O事件不同。每个子事件完成后,该事件将从中消失events_waits_current。此时,直到下一个子事件开始,表I / O等待还是任何类型的最新等待。