<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h4 class="title">
      <a name="performance-schema-table-wait-summary-tables">
      </a>
      29.12.20.8 Table I/O and Lock Wait Summary Tables
     </h4>
    </div>
   </div>
  </div>
  <p>
   The following sections describe the table I/O and lock wait
          summary tables:
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-index-usage-table" title="29.12.20.8.2 The table_io_waits_summary_by_index_usage Table">
       <code class="literal">
        table_io_waits_summary_by_index_usage
       </code>
      </a>
      :
              Table I/O waits per index
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
       <code class="literal">
        table_io_waits_summary_by_table
       </code>
      </a>
      :
              Table I/O waits per table
     </p>
    </li>
    <li class="listitem">
     <p>
      <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-lock-waits-summary-by-table-table" title="29.12.20.8.3 The table_lock_waits_summary_by_table Table">
       <code class="literal">
        table_lock_waits_summary_by_table
       </code>
      </a>
      :
              Table lock waits per table
     </p>
    </li>
   </ul>
  </div>
  <div class="section">
   <div class="titlepage">
    <div>
     <div>
      <h5 class="title">
       <a name="performance-schema-table-io-waits-summary-by-table-table">
       </a>
       29.12.20.8.1 The table_io_waits_summary_by_table Table
      </h5>
     </div>
    </div>
   </div>
   <a class="indexterm" name="idm46045068447680">
   </a>
   <a class="indexterm" name="idm46045068446176">
   </a>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    table aggregates all table I/O wait events, as generated by
            the
    <code class="literal">
     wait/io/table/sql/handler
    </code>
    instrument.
            The grouping is by table.
   </p>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    table has these grouping columns to indicate how the table
            aggregates events:
    <code class="literal">
     OBJECT_TYPE
    </code>
    ,
    <code class="literal">
     OBJECT_SCHEMA
    </code>
    , and
    <code class="literal">
     OBJECT_NAME
    </code>
    . These columns have the same
            meaning as in the
    <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>
    table.
            They identify the table to which the row applies.
   </p>
   <p>
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    has the following summary columns containing aggregated
            values. As indicated in the column descriptions, some
            columns are more general and have values that are the same
            as the sum of the values of more fine-grained columns. For
            example, columns that aggregate all writes hold the sum of
            the corresponding columns that aggregate inserts, updates,
            and deletes. In this way, aggregations at higher levels are
            available directly without the need for user-defined views
            that sum lower-level columns.
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_STAR
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WAIT
       </code>
      </p>
      <p>
       These columns aggregate all I/O operations. They are the
                same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ
       </code>
       and
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ
       </code>
      </p>
      <p>
       These columns aggregate all read operations. They are
                the same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _FETCH
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE
       </code>
      </p>
      <p>
       These columns aggregate all write operations. They are
                the same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _INSERT
       </code>
       ,
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _UPDATE
       </code>
       ,
                and
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _DELETE
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_FETCH
       </code>
       ,
       <code class="literal">
        SUM_TIMER_FETCH
       </code>
       ,
       <code class="literal">
        MIN_TIMER_FETCH
       </code>
       ,
       <code class="literal">
        AVG_TIMER_FETCH
       </code>
       ,
       <code class="literal">
        MAX_TIMER_FETCH
       </code>
      </p>
      <p>
       These columns aggregate all fetch operations.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_INSERT
       </code>
       ,
       <code class="literal">
        SUM_TIMER_INSERT
       </code>
       ,
       <code class="literal">
        MIN_TIMER_INSERT
       </code>
       ,
       <code class="literal">
        AVG_TIMER_INSERT
       </code>
       ,
       <code class="literal">
        MAX_TIMER_INSERT
       </code>
      </p>
      <p>
       These columns aggregate all insert operations.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_UPDATE
       </code>
       ,
       <code class="literal">
        SUM_TIMER_UPDATE
       </code>
       ,
       <code class="literal">
        MIN_TIMER_UPDATE
       </code>
       ,
       <code class="literal">
        AVG_TIMER_UPDATE
       </code>
       ,
       <code class="literal">
        MAX_TIMER_UPDATE
       </code>
      </p>
      <p>
       These columns aggregate all update operations.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_DELETE
       </code>
       ,
       <code class="literal">
        SUM_TIMER_DELETE
       </code>
       ,
       <code class="literal">
        MIN_TIMER_DELETE
       </code>
       ,
       <code class="literal">
        AVG_TIMER_DELETE
       </code>
       ,
       <code class="literal">
        MAX_TIMER_DELETE
       </code>
      </p>
      <p>
       These columns aggregate all delete operations.
      </p>
     </li>
    </ul>
   </div>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    table has these indexes:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       Unique index on (
       <code class="literal">
        OBJECT_TYPE
       </code>
       ,
       <code class="literal">
        OBJECT_SCHEMA
       </code>
       ,
       <code class="literal">
        OBJECT_NAME
       </code>
       )
      </p>
     </li>
    </ul>
   </div>
   <p>
    <a class="link" href="truncate-table.html" title="15.1.37 TRUNCATE TABLE Statement">
     <code class="literal">
      TRUNCATE TABLE
     </code>
    </a>
    is permitted
            for table I/O summary tables. It resets the summary columns
            to zero rather than removing rows. Truncating this table
            also truncates the
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-index-usage-table" title="29.12.20.8.2 The table_io_waits_summary_by_index_usage Table">
     <code class="literal">
      table_io_waits_summary_by_index_usage
     </code>
    </a>
    table.
   </p>
  </div>
  <div class="section">
   <div class="titlepage">
    <div>
     <div>
      <h5 class="title">
       <a name="performance-schema-table-io-waits-summary-by-index-usage-table">
       </a>
       29.12.20.8.2 The table_io_waits_summary_by_index_usage Table
      </h5>
     </div>
    </div>
   </div>
   <a class="indexterm" name="idm46045068384320">
   </a>
   <a class="indexterm" name="idm46045068382800">
   </a>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-index-usage-table" title="29.12.20.8.2 The table_io_waits_summary_by_index_usage Table">
     <code class="literal">
      table_io_waits_summary_by_index_usage
     </code>
    </a>
    table aggregates all table index I/O wait events, as
            generated by the
    <code class="literal">
     wait/io/table/sql/handler
    </code>
    instrument. The
            grouping is by table index.
   </p>
   <p>
    The columns of
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-index-usage-table" title="29.12.20.8.2 The table_io_waits_summary_by_index_usage Table">
     <code class="literal">
      table_io_waits_summary_by_index_usage
     </code>
    </a>
    are nearly identical to
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    .
            The only difference is the additional group column,
    <code class="literal">
     INDEX_NAME
    </code>
    , which corresponds to the name
            of the index that was used when the table I/O wait event was
            recorded:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       A value of
       <code class="literal">
        PRIMARY
       </code>
       indicates that
                table I/O used the primary index.
      </p>
     </li>
     <li class="listitem">
      <p>
       A value of
       <code class="literal">
        NULL
       </code>
       means that table I/O
                used no index.
      </p>
     </li>
     <li class="listitem">
      <p>
       Inserts are counted against
       <code class="literal">
        INDEX_NAME =
                NULL
       </code>
       .
      </p>
     </li>
    </ul>
   </div>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-index-usage-table" title="29.12.20.8.2 The table_io_waits_summary_by_index_usage Table">
     <code class="literal">
      table_io_waits_summary_by_index_usage
     </code>
    </a>
    table has these indexes:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       Unique index on (
       <code class="literal">
        OBJECT_TYPE
       </code>
       ,
       <code class="literal">
        OBJECT_SCHEMA
       </code>
       ,
       <code class="literal">
        OBJECT_NAME
       </code>
       ,
       <code class="literal">
        INDEX_NAME
       </code>
       )
      </p>
     </li>
    </ul>
   </div>
   <p>
    <a class="link" href="truncate-table.html" title="15.1.37 TRUNCATE TABLE Statement">
     <code class="literal">
      TRUNCATE TABLE
     </code>
    </a>
    is permitted
            for table I/O summary tables. It resets the summary columns
            to zero rather than removing rows. This table is also
            truncated by truncation of the
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-io-waits-summary-by-table-table" title="29.12.20.8.1 The table_io_waits_summary_by_table Table">
     <code class="literal">
      table_io_waits_summary_by_table
     </code>
    </a>
    table. A DDL operation that changes the index structure of a
            table may cause the per-index statistics to be reset.
   </p>
  </div>
  <div class="section">
   <div class="titlepage">
    <div>
     <div>
      <h5 class="title">
       <a name="performance-schema-table-lock-waits-summary-by-table-table">
       </a>
       29.12.20.8.3 The table_lock_waits_summary_by_table Table
      </h5>
     </div>
    </div>
   </div>
   <a class="indexterm" name="idm46045068358944">
   </a>
   <a class="indexterm" name="idm46045068357440">
   </a>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-lock-waits-summary-by-table-table" title="29.12.20.8.3 The table_lock_waits_summary_by_table Table">
     <code class="literal">
      table_lock_waits_summary_by_table
     </code>
    </a>
    table aggregates all table lock wait events, as generated by
            the
    <code class="literal">
     wait/lock/table/sql/handler
    </code>
    instrument. The grouping is by table.
   </p>
   <p>
    This table contains information about internal and external
            locks:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       An internal lock corresponds to a lock in the SQL layer.
                This is currently implemented by a call to
       <code class="literal">
        thr_lock()
       </code>
       . In event rows, these
                locks are distinguished by the
       <code class="literal">
        OPERATION
       </code>
       column, which has one of
                these values:
      </p>
      <div class="copytoclipboard-wrapper">
       <pre class="programlisting language-none"><div class="docs-select-all right" id="sa37231800"><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">read normal
read with shared locks
read high priority
read no insert
write allow write
write concurrent insert
write delayed
write low priority
write normal</code></pre>
      </div>
     </li>
     <li class="listitem">
      <p>
       An external lock corresponds to a lock in the storage
                engine layer. This is currently implemented by a call to
       <code class="literal">
        handler::external_lock()
       </code>
       . In event
                rows, these locks are distinguished by the
       <code class="literal">
        OPERATION
       </code>
       column, which has one of
                these values:
      </p>
      <div class="copytoclipboard-wrapper">
       <pre class="programlisting language-none"><div class="docs-select-all right" id="sa76827330"><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">read external
write external</code></pre>
      </div>
     </li>
    </ul>
   </div>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-lock-waits-summary-by-table-table" title="29.12.20.8.3 The table_lock_waits_summary_by_table Table">
     <code class="literal">
      table_lock_waits_summary_by_table
     </code>
    </a>
    table has these grouping columns to indicate how the table
            aggregates events:
    <code class="literal">
     OBJECT_TYPE
    </code>
    ,
    <code class="literal">
     OBJECT_SCHEMA
    </code>
    , and
    <code class="literal">
     OBJECT_NAME
    </code>
    . These columns have the same
            meaning as in the
    <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>
    table.
            They identify the table to which the row applies.
   </p>
   <p>
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-lock-waits-summary-by-table-table" title="29.12.20.8.3 The table_lock_waits_summary_by_table Table">
     <code class="literal">
      table_lock_waits_summary_by_table
     </code>
    </a>
    has the following summary columns containing aggregated
            values. As indicated in the column descriptions, some
            columns are more general and have values that are the same
            as the sum of the values of more fine-grained columns. For
            example, columns that aggregate all locks hold the sum of
            the corresponding columns that aggregate read and write
            locks. In this way, aggregations at higher levels are
            available directly without the need for user-defined views
            that sum lower-level columns.
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_STAR
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WAIT
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WAIT
       </code>
      </p>
      <p>
       These columns aggregate all lock operations. They are
                the same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ
       </code>
       and
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ
       </code>
      </p>
      <p>
       These columns aggregate all read-lock operations. They
                are the same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ_NORMAL
       </code>
       ,
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ_WITH_SHARED_LOCKS
       </code>
       ,
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ_HIGH_PRIORITY
       </code>
       ,
                and
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _READ_NO_INSERT
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE
       </code>
      </p>
      <p>
       These columns aggregate all write-lock operations. They
                are the same as the sum of the corresponding
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE_ALLOW_WRITE
       </code>
       ,
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE_CONCURRENT_INSERT
       </code>
       ,
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE_LOW_PRIORITY
       </code>
       ,
                and
       <code class="literal">
        <em class="replaceable">
         <code>
          xxx
         </code>
        </em>
        _WRITE_NORMAL
       </code>
       columns.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ_NORMAL
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ_NORMAL
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ_NORMAL
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ_NORMAL
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ_NORMAL
       </code>
      </p>
      <p>
       These columns aggregate internal read locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ_WITH_SHARED_LOCKS
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ_WITH_SHARED_LOCKS
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ_WITH_SHARED_LOCKS
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ_WITH_SHARED_LOCKS
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ_WITH_SHARED_LOCKS
       </code>
      </p>
      <p>
       These columns aggregate internal read locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ_HIGH_PRIORITY
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ_HIGH_PRIORITY
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ_HIGH_PRIORITY
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ_HIGH_PRIORITY
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ_HIGH_PRIORITY
       </code>
      </p>
      <p>
       These columns aggregate internal read locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ_NO_INSERT
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ_NO_INSERT
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ_NO_INSERT
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ_NO_INSERT
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ_NO_INSERT
       </code>
      </p>
      <p>
       These columns aggregate internal read locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_READ_EXTERNAL
       </code>
       ,
       <code class="literal">
        SUM_TIMER_READ_EXTERNAL
       </code>
       ,
       <code class="literal">
        MIN_TIMER_READ_EXTERNAL
       </code>
       ,
       <code class="literal">
        AVG_TIMER_READ_EXTERNAL
       </code>
       ,
       <code class="literal">
        MAX_TIMER_READ_EXTERNAL
       </code>
      </p>
      <p>
       These columns aggregate external read locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE_ALLOW_WRITE
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE_ALLOW_WRITE
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE_ALLOW_WRITE
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE_ALLOW_WRITE
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE_ALLOW_WRITE
       </code>
      </p>
      <p>
       These columns aggregate internal write locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE_CONCURRENT_INSERT
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE_CONCURRENT_INSERT
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE_CONCURRENT_INSERT
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE_CONCURRENT_INSERT
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE_CONCURRENT_INSERT
       </code>
      </p>
      <p>
       These columns aggregate internal write locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE_LOW_PRIORITY
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE_LOW_PRIORITY
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE_LOW_PRIORITY
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE_LOW_PRIORITY
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE_LOW_PRIORITY
       </code>
      </p>
      <p>
       These columns aggregate internal write locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE_NORMAL
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE_NORMAL
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE_NORMAL
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE_NORMAL
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE_NORMAL
       </code>
      </p>
      <p>
       These columns aggregate internal write locks.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        COUNT_WRITE_EXTERNAL
       </code>
       ,
       <code class="literal">
        SUM_TIMER_WRITE_EXTERNAL
       </code>
       ,
       <code class="literal">
        MIN_TIMER_WRITE_EXTERNAL
       </code>
       ,
       <code class="literal">
        AVG_TIMER_WRITE_EXTERNAL
       </code>
       ,
       <code class="literal">
        MAX_TIMER_WRITE_EXTERNAL
       </code>
      </p>
      <p>
       These columns aggregate external write locks.
      </p>
     </li>
    </ul>
   </div>
   <p>
    The
    <a class="link" href="performance-schema-table-wait-summary-tables.html#performance-schema-table-lock-waits-summary-by-table-table" title="29.12.20.8.3 The table_lock_waits_summary_by_table Table">
     <code class="literal">
      table_lock_waits_summary_by_table
     </code>
    </a>
    table has these indexes:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       Unique index on (
       <code class="literal">
        OBJECT_TYPE
       </code>
       ,
       <code class="literal">
        OBJECT_SCHEMA
       </code>
       ,
       <code class="literal">
        OBJECT_NAME
       </code>
       )
      </p>
     </li>
    </ul>
   </div>
   <p>
    <a class="link" href="truncate-table.html" title="15.1.37 TRUNCATE TABLE Statement">
     <code class="literal">
      TRUNCATE TABLE
     </code>
    </a>
    is permitted
            for table lock summary tables. It resets the summary columns
            to zero rather than removing rows.
   </p>
  </div>
 </div>
 <br/>
</div>
