<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h2 class="title">
      <a name="innodb-disk-management">
      </a>
      17.11 InnoDB Disk I/O and File Space Management
     </h2>
    </div>
   </div>
  </div>
  <div class="toc">
   <dl class="toc">
    <dt>
     <span class="section">
      <a href="innodb-disk-io.html">
       17.11.1 InnoDB Disk I/O
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="innodb-file-space.html">
       17.11.2 File Space Management
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="innodb-checkpoints.html">
       17.11.3 InnoDB Checkpoints
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="innodb-file-defragmenting.html">
       17.11.4 Defragmenting a Table
      </a>
     </span>
    </dt>
    <dt>
     <span class="section">
      <a href="innodb-truncate-table-reclaim-space.html">
       17.11.5 Reclaiming Disk Space with TRUNCATE TABLE
      </a>
     </span>
    </dt>
   </dl>
  </div>
  <p>
   As a DBA, you must manage disk I/O to keep the I/O subsystem from
    becoming saturated, and manage disk space to avoid filling up
    storage devices. The
   <a class="link" href="glossary.html#glos_acid" title="ACID">
    ACID
   </a>
   design
    model requires a certain amount of I/O that might seem redundant,
    but helps to ensure data reliability. Within these constraints,
   <code class="literal">
    InnoDB
   </code>
   tries to optimize the database work and
    the organization of disk files to minimize the amount of disk I/O.
    Sometimes, I/O is postponed until the database is not busy, or until
    everything needs to be brought to a consistent state, such as during
    a database restart after a
   <a class="link" href="glossary.html#glos_fast_shutdown" title="fast shutdown">
    fast
    shutdown
   </a>
   .
  </p>
  <p>
   This section discusses the main considerations for I/O and disk
    space with the default kind of MySQL tables (also known as
   <code class="literal">
    InnoDB
   </code>
   tables):
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      Controlling the amount of background I/O used to improve query
        performance.
     </p>
    </li>
    <li class="listitem">
     <p>
      Enabling or disabling features that provide extra durability at
        the expense of additional I/O.
     </p>
    </li>
    <li class="listitem">
     <p>
      Organizing tables into many small files, a few larger files, or
        a combination of both.
     </p>
    </li>
    <li class="listitem">
     <p>
      Balancing the size of redo log files against the I/O activity
        that occurs when the log files become full.
     </p>
    </li>
    <li class="listitem">
     <p>
      How to reorganize a table for optimal query performance.
     </p>
    </li>
   </ul>
  </div>
 </div>
 <br/>
</div>
