<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h3 class="title">
      <a name="innodb-buffer-pool">
      </a>
      17.5.1 Buffer Pool
     </h3>
    </div>
   </div>
  </div>
  <p>
   The buffer pool is an area in main memory where
   <code class="literal">
    InnoDB
   </code>
   caches table and index data as it is
    accessed. The buffer pool permits frequently used data to be
    accessed directly from memory, which speeds up processing. On
    dedicated servers, up to 80% of physical memory is often assigned to
    the buffer pool.
  </p>
  <p>
   For efficiency of high-volume read operations, the buffer pool is
    divided into pages that can potentially hold multiple rows. For
    efficiency of cache management, the buffer pool is implemented as a
    linked list of pages; data that is rarely used is aged out of the
    cache using a variation of the least recently used (LRU) algorithm.
  </p>
  <p>
   Knowing how to take advantage of the buffer pool to keep frequently
    accessed data in memory is an important aspect of MySQL tuning.
  </p>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="innodb-buffer-pool-lru">
       </a>
       Buffer Pool LRU Algorithm
      </h4>
     </div>
    </div>
   </div>
   <p>
    The buffer pool is managed as a list using a variation of the LRU
      algorithm. When room is needed to add a new page to the buffer
      pool, the least recently used page is evicted and a new page is
      added to the middle of the list. This midpoint insertion strategy
      treats the list as two sublists:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       At the head, a sublist of new (
       <span class="quote">
        “
        <span class="quote">
         young
        </span>
        ”
       </span>
       ) pages
          that were accessed recently
      </p>
     </li>
     <li class="listitem">
      <p>
       At the tail, a sublist of old pages that were accessed less
          recently
      </p>
     </li>
    </ul>
   </div>
   <div class="figure">
    <a name="innodb-buffer-pool-list">
    </a>
    <p class="title">
     <b>
      Figure 17.2 Buffer Pool List
     </b>
    </p>
    <div class="figure-contents">
     <div class="mediaobject">
      <img alt="Content is described in the surrounding text." src="images/innodb-buffer-pool-list.png" style="width: 100%; max-width: 376px;"/>
     </div>
    </div>
   </div>
   <br class="figure-break"/>
   <p>
    The algorithm keeps frequently used pages in the new sublist. The
      old sublist contains less frequently used pages; these pages are
      candidates for
    <a class="link" href="glossary.html#glos_eviction" title="eviction">
     eviction
    </a>
    .
   </p>
   <p>
    By default, the algorithm operates as follows:
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       3/8 of the buffer pool is devoted to the old sublist.
      </p>
     </li>
     <li class="listitem">
      <p>
       The midpoint of the list is the boundary where the tail of the
          new sublist meets the head of the old sublist.
      </p>
     </li>
     <li class="listitem">
      <p>
       When
       <code class="literal">
        InnoDB
       </code>
       reads a page into the buffer
          pool, it initially inserts it at the midpoint (the head of the
          old sublist). A page can be read because it is required for a
          user-initiated operation such as an SQL query, or as part of a
       <a class="link" href="glossary.html#glos_read_ahead" title="read-ahead">
        read-ahead
       </a>
       operation
          performed automatically by
       <code class="literal">
        InnoDB
       </code>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       Accessing a page in the old sublist makes it
       <span class="quote">
        “
        <span class="quote">
         young
        </span>
        ”
       </span>
       , moving it to the head of the new
          sublist. If the page was read because it was required by a
          user-initiated operation, the first access occurs immediately
          and the page is made young. If the page was read due to a
          read-ahead operation, the first access does not occur
          immediately and might not occur at all before the page is
          evicted.
      </p>
     </li>
     <li class="listitem">
      <p>
       As the database operates, pages in the buffer pool that are
          not accessed
       <span class="quote">
        “
        <span class="quote">
         age
        </span>
        ”
       </span>
       by moving toward the tail of
          the list. Pages in both the new and old sublists age as other
          pages are made new. Pages in the old sublist also age as pages
          are inserted at the midpoint. Eventually, a page that remains
          unused reaches the tail of the old sublist and is evicted.
      </p>
     </li>
    </ul>
   </div>
   <p>
    By default, pages read by queries are immediately moved into the
      new sublist, meaning they stay in the buffer pool longer. A table
      scan, performed for a
    <a class="link" href="mysqldump.html" title="6.5.4 mysqldump — A Database Backup Program">
     <span class="command">
      <strong>
       mysqldump
      </strong>
     </span>
    </a>
    operation or a
    <code class="literal">
     SELECT
    </code>
    statement with no
    <code class="literal">
     WHERE
    </code>
    clause, for example, can bring a large
      amount of data into the buffer pool and evict an equivalent amount
      of older data, even if the new data is never used again.
      Similarly, pages that are loaded by the read-ahead background
      thread and accessed only once are moved to the head of the new
      list. These situations can push frequently used pages to the old
      sublist where they become subject to eviction. For information
      about optimizing this behavior, see
    <a class="xref" href="innodb-performance-midpoint_insertion.html" title="17.8.3.3 Making the Buffer Pool Scan Resistant">
     Section 17.8.3.3, “Making the Buffer Pool Scan Resistant”
    </a>
    , and
    <a class="xref" href="innodb-performance-read_ahead.html" title="17.8.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)">
     Section 17.8.3.4, “Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)”
    </a>
    .
   </p>
   <p>
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor output contains several
      fields in the
    <code class="literal">
     BUFFER POOL AND MEMORY
    </code>
    section
      regarding operation of the buffer pool LRU algorithm. For details,
      see
    <a class="xref" href="innodb-buffer-pool.html#innodb-buffer-pool-monitoring" title="Monitoring the Buffer Pool Using the InnoDB Standard Monitor">
     Monitoring the Buffer Pool Using the InnoDB Standard Monitor
    </a>
    .
   </p>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="innodb-buffer-pool-configuration">
       </a>
       Buffer Pool Configuration
      </h4>
     </div>
    </div>
   </div>
   <p>
    You can configure the various aspects of the buffer pool to
      improve performance.
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       Ideally, you set the size of the buffer pool to as large a
          value as practical, leaving enough memory for other processes
          on the server to run without excessive paging. The larger the
          buffer pool, the more
       <code class="literal">
        InnoDB
       </code>
       acts like an
          in-memory database, reading data from disk once and then
          accessing the data from memory during subsequent reads. See
       <a class="xref" href="innodb-buffer-pool-resize.html" title="17.8.3.1 Configuring InnoDB Buffer Pool Size">
        Section 17.8.3.1, “Configuring InnoDB Buffer Pool Size”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       On 64-bit systems with sufficient memory, you can split the
          buffer pool into multiple parts to minimize contention for
          memory structures among concurrent operations. For details,
          see
       <a class="xref" href="innodb-multiple-buffer-pools.html" title="17.8.3.2 Configuring Multiple Buffer Pool Instances">
        Section 17.8.3.2, “Configuring Multiple Buffer Pool Instances”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       You can keep frequently accessed data in memory regardless of
          sudden spikes of activity from operations that would bring
          large amounts of infrequently accessed data into the buffer
          pool. For details, see
       <a class="xref" href="innodb-performance-midpoint_insertion.html" title="17.8.3.3 Making the Buffer Pool Scan Resistant">
        Section 17.8.3.3, “Making the Buffer Pool Scan Resistant”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       You can control how and when to perform read-ahead requests to
          prefetch pages into the buffer pool asynchronously in
          anticipation of impending need for them. For details, see
       <a class="xref" href="innodb-performance-read_ahead.html" title="17.8.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)">
        Section 17.8.3.4, “Configuring InnoDB Buffer Pool Prefetching (Read-Ahead)”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       You can control when background flushing occurs and whether or
          not the rate of flushing is dynamically adjusted based on
          workload. For details, see
       <a class="xref" href="innodb-buffer-pool-flushing.html" title="17.8.3.5 Configuring Buffer Pool Flushing">
        Section 17.8.3.5, “Configuring Buffer Pool Flushing”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       You can configure how
       <code class="literal">
        InnoDB
       </code>
       preserves the
          current buffer pool state to avoid a lengthy warmup period
          after a server restart. For details, see
       <a class="xref" href="innodb-preload-buffer-pool.html" title="17.8.3.6 Saving and Restoring the Buffer Pool State">
        Section 17.8.3.6, “Saving and Restoring the Buffer Pool State”
       </a>
       .
      </p>
     </li>
    </ul>
   </div>
  </div>
  <div class="simplesect">
   <div class="titlepage">
    <div>
     <div class="simple">
      <h4 class="title">
       <a name="innodb-buffer-pool-monitoring">
       </a>
       Monitoring the Buffer Pool Using the InnoDB Standard Monitor
      </h4>
     </div>
    </div>
   </div>
   <a class="indexterm" name="idm46045167129552">
   </a>
   <a class="indexterm" name="idm46045167128480">
   </a>
   <a class="indexterm" name="idm46045167126992">
   </a>
   <p>
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor output, which can be
      accessed using
    <a class="link" href="innodb-standard-monitor.html" title="17.17.3 InnoDB Standard Monitor and Lock Monitor Output">
     <code class="literal">
      SHOW
      ENGINE INNODB STATUS
     </code>
    </a>
    , provides metrics regarding
      operation of the buffer pool. Buffer pool metrics are located in
      the
    <code class="literal">
     BUFFER POOL AND MEMORY
    </code>
    section of
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor output:
   </p>
   <div class="copytoclipboard-wrapper">
    <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa18327531"><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-sql"><span class="token comment" spellcheck="true">----------------------</span>
BUFFER POOL <span class="token operator">AND</span> <span class="token keyword">MEMORY</span>
<span class="token comment" spellcheck="true">----------------------</span>
Total large <span class="token keyword">memory</span> allocated <span class="token number">2198863872</span>
Dictionary <span class="token keyword">memory</span> allocated <span class="token number">776332</span>
Buffer pool size   <span class="token number">131072</span>
Free buffers       <span class="token number">124908</span>
<span class="token keyword">Database</span> pages     <span class="token number">5720</span>
<span class="token keyword">Old</span> <span class="token keyword">database</span> pages <span class="token number">2071</span>
Modified db pages  <span class="token number">910</span>
Pending <span class="token keyword">reads</span> <span class="token number">0</span>
Pending writes: LRU <span class="token number">0</span><span class="token punctuation">,</span> <span class="token keyword">flush</span> <span class="token keyword">list</span> <span class="token number">0</span><span class="token punctuation">,</span> single <span class="token keyword">page</span> <span class="token number">0</span>
Pages made young <span class="token number">4</span><span class="token punctuation">,</span> <span class="token operator">not</span> young <span class="token number">0</span>
<span class="token number">0.10</span> youngs<span class="token operator">/</span>s<span class="token punctuation">,</span> <span class="token number">0.00</span> non<span class="token operator">-</span>youngs<span class="token operator">/</span>s
Pages <span class="token keyword">read</span> <span class="token number">197</span><span class="token punctuation">,</span> created <span class="token number">5523</span><span class="token punctuation">,</span> written <span class="token number">5060</span>
<span class="token number">0.00</span> <span class="token keyword">reads</span><span class="token operator">/</span>s<span class="token punctuation">,</span> <span class="token number">190.89</span> creates<span class="token operator">/</span>s<span class="token punctuation">,</span> <span class="token number">244.94</span> writes<span class="token operator">/</span>s
Buffer pool hit rate <span class="token number">1000</span> <span class="token operator">/</span> <span class="token number">1000</span><span class="token punctuation">,</span> young<span class="token operator">-</span>making rate <span class="token number">0</span> <span class="token operator">/</span> <span class="token number">1000</span> <span class="token operator">not</span>
<span class="token number">0</span> <span class="token operator">/</span> <span class="token number">1000</span>
Pages <span class="token keyword">read</span> ahead <span class="token number">0.00</span><span class="token operator">/</span>s<span class="token punctuation">,</span> evicted <span class="token keyword">without</span> access <span class="token number">0.00</span><span class="token operator">/</span>s<span class="token punctuation">,</span> <span class="token keyword">Random</span> <span class="token keyword">read</span>
ahead <span class="token number">0.00</span><span class="token operator">/</span>s
LRU len: <span class="token number">5720</span><span class="token punctuation">,</span> unzip_LRU len: <span class="token number">0</span>
I<span class="token operator">/</span>O sum<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>:cur<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> unzip sum<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>:cur<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span></code></pre>
   </div>
   <p>
    The following table describes buffer pool metrics reported by the
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor.
   </p>
   <p>
    Per second averages provided in
    <code class="literal">
     InnoDB
    </code>
    Standard
      Monitor output are based on the elapsed time since
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor output was last
      printed.
   </p>
   <div class="table">
    <a name="innodb-buffer-pool-metrics">
    </a>
    <p class="title">
     <b>
      Table 17.2 InnoDB Buffer Pool Metrics
     </b>
    </p>
    <div class="table-contents">
     <table summary="InnoDB buffer pool metrics reported by the InnoDB Standard Monitor.">
      <colgroup>
       <col style="width: 35%"/>
       <col style="width: 65%"/>
      </colgroup>
      <thead>
       <tr>
        <th>
         Name
        </th>
        <th>
         Description
        </th>
       </tr>
      </thead>
      <tbody>
       <tr>
        <td>
         Total memory allocated
        </td>
        <td>
         The total memory allocated for the buffer pool in bytes.
        </td>
       </tr>
       <tr>
        <td>
         Dictionary memory allocated
        </td>
        <td>
         The total memory allocated for the
         <code class="literal">
          InnoDB
         </code>
         data
            dictionary in bytes.
        </td>
       </tr>
       <tr>
        <td>
         Buffer pool size
        </td>
        <td>
         The total size in pages allocated to the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Free buffers
        </td>
        <td>
         The total size in pages of the buffer pool free list.
        </td>
       </tr>
       <tr>
        <td>
         Database pages
        </td>
        <td>
         The total size in pages of the buffer pool LRU list.
        </td>
       </tr>
       <tr>
        <td>
         Old database pages
        </td>
        <td>
         The total size in pages of the buffer pool old LRU sublist.
        </td>
       </tr>
       <tr>
        <td>
         Modified db pages
        </td>
        <td>
         The current number of pages modified in the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Pending reads
        </td>
        <td>
         The number of buffer pool pages waiting to be read into the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Pending writes LRU
        </td>
        <td>
         The number of old dirty pages within the buffer pool to be written from
            the bottom of the LRU list.
        </td>
       </tr>
       <tr>
        <td>
         Pending writes flush list
        </td>
        <td>
         The number of buffer pool pages to be flushed during checkpointing.
        </td>
       </tr>
       <tr>
        <td>
         Pending writes single page
        </td>
        <td>
         The number of pending independent page writes within the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Pages made young
        </td>
        <td>
         The total number of pages made young in the buffer pool LRU list (moved
            to the head of sublist of
         <span class="quote">
          “
          <span class="quote">
           new
          </span>
          ”
         </span>
         pages).
        </td>
       </tr>
       <tr>
        <td>
         Pages made not young
        </td>
        <td>
         The total number of pages not made young in the buffer pool LRU list
            (pages that have remained in the
         <span class="quote">
          “
          <span class="quote">
           old
          </span>
          ”
         </span>
         sublist
            without being made young).
        </td>
       </tr>
       <tr>
        <td>
         youngs/s
        </td>
        <td>
         The per second average of accesses to old pages in the buffer pool LRU
            list that have resulted in making pages young. See the notes
            that follow this table for more information.
        </td>
       </tr>
       <tr>
        <td>
         non-youngs/s
        </td>
        <td>
         The per second average of accesses to old pages in the buffer pool LRU
            list that have resulted in not making pages young. See the
            notes that follow this table for more information.
        </td>
       </tr>
       <tr>
        <td>
         Pages read
        </td>
        <td>
         The total number of pages read from the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Pages created
        </td>
        <td>
         The total number of pages created within the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Pages written
        </td>
        <td>
         The total number of pages written from the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         reads/s
        </td>
        <td>
         The per second average number of buffer pool page reads per second.
        </td>
       </tr>
       <tr>
        <td>
         creates/s
        </td>
        <td>
         The average number of buffer pool pages created per second.
        </td>
       </tr>
       <tr>
        <td>
         writes/s
        </td>
        <td>
         The average number of buffer pool page writes per second.
        </td>
       </tr>
       <tr>
        <td>
         Buffer pool hit rate
        </td>
        <td>
         The buffer pool page hit rate for pages read from the buffer pool vs
            from disk storage.
        </td>
       </tr>
       <tr>
        <td>
         young-making rate
        </td>
        <td>
         The average hit rate at which page accesses have resulted in making
            pages young. See the notes that follow this table for more
            information.
        </td>
       </tr>
       <tr>
        <td>
         not (young-making rate)
        </td>
        <td>
         The average hit rate at which page accesses have not resulted in making
            pages young. See the notes that follow this table for more
            information.
        </td>
       </tr>
       <tr>
        <td>
         Pages read ahead
        </td>
        <td>
         The per second average of read ahead operations.
        </td>
       </tr>
       <tr>
        <td>
         Pages evicted without access
        </td>
        <td>
         The per second average of the pages evicted without being accessed from
            the buffer pool.
        </td>
       </tr>
       <tr>
        <td>
         Random read ahead
        </td>
        <td>
         The per second average of random read ahead operations.
        </td>
       </tr>
       <tr>
        <td>
         LRU len
        </td>
        <td>
         The total size in pages of the buffer pool LRU list.
        </td>
       </tr>
       <tr>
        <td>
         unzip_LRU len
        </td>
        <td>
         The length (in pages) of the buffer pool unzip_LRU list.
        </td>
       </tr>
       <tr>
        <td>
         I/O sum
        </td>
        <td>
         The total number of buffer pool LRU list pages accessed.
        </td>
       </tr>
       <tr>
        <td>
         I/O cur
        </td>
        <td>
         The total number of buffer pool LRU list pages accessed in the current
            interval.
        </td>
       </tr>
       <tr>
        <td>
         I/O unzip sum
        </td>
        <td>
         The total number of buffer pool unzip_LRU list pages decompressed.
        </td>
       </tr>
       <tr>
        <td>
         I/O unzip cur
        </td>
        <td>
         The total number of buffer pool unzip_LRU list pages decompressed in the
            current interval.
        </td>
       </tr>
      </tbody>
     </table>
    </div>
    <div class="table-contents">
     <table cellpadding="0" cellspacing="0" style="position: fixed; top: 0px; display: none; left: 401px; width: 739px;">
      <thead>
       <tr>
        <th style="width: 258.297px;">
         Name
        </th>
        <th style="width: 479.703px;">
         Description
        </th>
       </tr>
      </thead>
     </table>
    </div>
   </div>
   <br class="table-break"/>
   <p>
    <span class="bold">
     <strong>
      Notes
     </strong>
    </span>
    :
   </p>
   <div class="itemizedlist">
    <ul class="itemizedlist" style="list-style-type: disc; ">
     <li class="listitem">
      <p>
       The
       <code class="literal">
        youngs/s
       </code>
       metric is applicable only to
          old pages. It is based on the number of page accesses. There
          can be multiple accesses for a given page, all of which are
          counted. If you see very low
       <code class="literal">
        youngs/s
       </code>
       values when there are no large scans occurring, consider
          reducing the delay time or increasing the percentage of the
          buffer pool used for the old sublist. Increasing the
          percentage makes the old sublist larger so that it takes
          longer for pages in that sublist to move to the tail, which
          increases the likelihood that those pages are accessed again
          and made young. See
       <a class="xref" href="innodb-performance-midpoint_insertion.html" title="17.8.3.3 Making the Buffer Pool Scan Resistant">
        Section 17.8.3.3, “Making the Buffer Pool Scan Resistant”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       The
       <code class="literal">
        non-youngs/s
       </code>
       metric is applicable only
          to old pages. It is based on the number of page accesses.
          There can be multiple accesses for a given page, all of which
          are counted. If you do not see a higher
       <code class="literal">
        non-youngs/s
       </code>
       value when performing large
          table scans (and a higher
       <code class="literal">
        youngs/s
       </code>
       value),
          increase the delay value. See
       <a class="xref" href="innodb-performance-midpoint_insertion.html" title="17.8.3.3 Making the Buffer Pool Scan Resistant">
        Section 17.8.3.3, “Making the Buffer Pool Scan Resistant”
       </a>
       .
      </p>
     </li>
     <li class="listitem">
      <p>
       The
       <code class="literal">
        young-making
       </code>
       rate accounts for all
          buffer pool page accesses, not just accesses for pages in the
          old sublist. The
       <code class="literal">
        young-making
       </code>
       rate and
       <code class="literal">
        not
       </code>
       rate do not normally add up to the
          overall buffer pool hit rate. Page hits in the old sublist
          cause pages to move to the new sublist, but page hits in the
          new sublist cause pages to move to the head of the list only
          if they are a certain distance from the head.
      </p>
     </li>
     <li class="listitem">
      <p>
       <code class="literal">
        not (young-making rate)
       </code>
       is the average hit
          rate at which page accesses have not resulted in making pages
          young due to the delay defined by
       <a class="link" href="innodb-parameters.html#sysvar_innodb_old_blocks_time">
        <code class="literal">
         innodb_old_blocks_time
        </code>
       </a>
       not
          being met, or due to page hits in the new sublist that did not
          result in pages being moved to the head. This rate accounts
          for all buffer pool page accesses, not just accesses for pages
          in the old sublist.
      </p>
     </li>
    </ul>
   </div>
   <p>
    Buffer pool
    <a class="link" href="server-status-variables.html" title="7.1.10 Server Status Variables">
     server status
      variables
    </a>
    and the
    <a class="link" href="information-schema-innodb-buffer-pool-stats-table.html" title="28.4.4 The INFORMATION_SCHEMA INNODB_BUFFER_POOL_STATS Table">
     <code class="literal">
      INNODB_BUFFER_POOL_STATS
     </code>
    </a>
    table
      provide many of the same buffer pool metrics found in
    <code class="literal">
     InnoDB
    </code>
    Standard Monitor output. For more
      information, see
    <a class="xref" href="innodb-information-schema-buffer-pool-tables.html#innodb-information-schema-buffer-pool-stats-example" title="Example 17.10 Querying the INNODB_BUFFER_POOL_STATS Table">
     Example 17.10, “Querying the INNODB_BUFFER_POOL_STATS Table”
    </a>
    .
   </p>
  </div>
 </div>
 <br/>
</div>
