<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h2 class="title">
      <a name="performance-schema-atom-molecule-events">
      </a>
      29.8 Performance Schema Atom and Molecule Events
     </h2>
    </div>
   </div>
  </div>
  <p>
   For a table I/O event, there are usually two rows in
   <a class="link" href="performance-schema-events-waits-current-table.html" title="29.12.4.1 The events_waits_current Table">
    <code class="literal">
     events_waits_current
    </code>
   </a>
   , not one. For
      example, a row fetch might result in rows like this:
  </p>
  <div class="copytoclipboard-wrapper">
   <pre class="programlisting language-none"><div class="docs-select-all right" id="sa44837225"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-none">Row# EVENT_NAME                 TIMER_START TIMER_END
---- ----------                 ----------- ---------
   1 wait/io/file/myisam/dfile        10001 10002
   2 wait/io/table/sql/handler        10000 NULL</code></pre>
  </div>
  <p>
   The row fetch causes a file read. In the example, the table I/O
      fetch event started before the file I/O event but has not finished
      (its
   <code class="literal">
    TIMER_END
   </code>
   value is
   <code class="literal">
    NULL
   </code>
   ). The file I/O event is
   <span class="quote">
    “
    <span class="quote">
     nested
    </span>
    ”
   </span>
   within the table I/O event.
  </p>
  <p>
   This occurs because, unlike other
   <span class="quote">
    “
    <span class="quote">
     atomic
    </span>
    ”
   </span>
   wait
      events such as for mutexes or file I/O, table I/O events are
   <span class="quote">
    “
    <span class="quote">
     molecular
    </span>
    ”
   </span>
   and include (overlap with) other events.
      In
   <a class="link" href="performance-schema-events-waits-current-table.html" title="29.12.4.1 The events_waits_current Table">
    <code class="literal">
     events_waits_current
    </code>
   </a>
   , the table
      I/O event usually has two rows:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      One row for the most recent table I/O wait event
     </p>
    </li>
    <li class="listitem">
     <p>
      One row for the most recent wait event of any kind
     </p>
    </li>
   </ul>
  </div>
  <p>
   Usually, but not always, the
   <span class="quote">
    “
    <span class="quote">
     of any kind
    </span>
    ”
   </span>
   wait event
      differs from the table I/O event. As each subsidiary event
      completes, it disappears from
   <a class="link" href="performance-schema-events-waits-current-table.html" title="29.12.4.1 The events_waits_current Table">
    <code class="literal">
     events_waits_current
    </code>
   </a>
   . At this point,
      and until the next subsidiary event begins, the table I/O wait is
      also the most recent wait of any kind.
  </p>
 </div>
 <br/>
</div>
