ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzajq_5.4.0.1/statsvindex.htm

85 lines
5.4 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="Indexes versus column statistics" />
<meta name="abstract" content="If you are trying to decide whether to use statistics or indexes to provide information to the Statistics Manager, keep the following differences in mind." />
<meta name="description" content="If you are trying to decide whether to use statistics or indexes to provide information to the Statistics Manager, keep the following differences in mind." />
<meta name="DC.subject" content="statistics manager, statistics versus indexes, index" />
<meta name="keywords" content="statistics manager, statistics versus indexes, index" />
<meta name="DC.Relation" scheme="URI" content="statsmanager.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="statsvindex" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Indexes versus column statistics</title>
</head>
<body id="statsvindex"><a name="statsvindex"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Indexes versus column statistics</h1>
<div><p>If you are trying to decide whether to use statistics or indexes
to provide information to the Statistics Manager, keep the following differences
in mind.</p>
<div class="section"><p>One major difference between indexes and column statistics is
that indexes are permanent objects that are updated when changes to the underlying
table occur, while column statistics are not. If your data is constantly changing,
the Statistics Manager may need to rely on stale column statistics. However,
maintaining an index after each change to the table might take up more system
resources than refreshing the stale column statistics after a group of changes
to the table have occurred. </p>
</div>
<div class="section"><p>Another difference is the effect that the existence of new indexes
or column statistics has on the Optimizer. When new indexes become available,
the Optimizer will consider them for implementation. If they are candidates,
the Optimizer will re-optimize the query and try to find a better implementation.
However, this is not true for column statistics. When new or refreshed column
statistics are available, the Statistics Manager will interrogate immediately.
Reoptimization will occur only if the answers are significantly different
from the ones that were given before these refreshed statistics. This means
that it is possible to use statistics that are refreshed without causing a
reoptimization of an access plan.</p>
</div>
<div class="section"><p>When trying to determine the selectivity of predicates, the Statistics
Manager considers column statistics and indexes as resources for its answers
in the following order:</p>
</div>
<div class="section"> <ol><li>Try to use a multi-column keyed index when ANDed or ORed predicates reference
multiple columns</li>
<li>If there is no perfect index that contains all of the columns in the predicates,
it will try to find a combination of indexes that can be used.</li>
<li>For single column questions, it will use available column statistics</li>
<li>If the answer derived from the column statistics shows a selectivity of
less than 2%, indexes are used to verify this answer</li>
</ol>
</div>
<div class="section"><p>Accessing column statistics to answer questions is faster than
trying to obtain these answers from indexes.</p>
</div>
<div class="section"><p>Column statistics can only be used by SQE. For CQE, all statistics
are retrieved from indexes.</p>
</div>
<div class="section"><p>Finally, column statistics can be used only for query optimization.
They cannot be used for the actual implementation of a query, whereas indexes
can be used for both.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="statsmanager.htm" title="As stated earlier, the collection of statistics is handled by a separate component called the Statistics Manager. Statistical information can be used by the query optimizer to determine the best access plan for a query. Since the query optimizer bases its choice of access plan on the statistical information found in the table, it is important that this information be current.">Collecting statistics with the Statistics Manager</a></div>
</div>
</div>
</body>
</html>