Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 496

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Defragmentation Role</title>
    <link rel="stylesheet" type="text/css" href="../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>Defragmentation Role</h1>
<p>So we have a reliable freespace manager, which will keep the database file size to the minimum. But do we still need to bother about <a href="../maintenance/defragment.html" class="wikiLink">defragmentation</a>?</p>
<p>Yes, we do for several reasons:</p>
<ul>
<li>When the object is deleted, its space in the database is marked as 'freed'. But 8 bytes of its internal ID stay behind. Defragment cleans all this up by writing all objects to a completely new database file. The resulting file will be smaller and faster.</li>
<li>Within the database file quite a lot of space is used for transactional processing. Objects are always written to a new slot when they are modified, while their 'old' space is marked as free. Adjacent free slots will be merged on the fly, but free and used slots won't be clustered together unless defragmentation is run. </li>
</ul>
</div>
    </div>
    <div id="footer">
					This revision (6) was last Modified 2007-05-07T12:47:01 by Tetyana.
				</div>
  </body>
</html>