77 lines
4.6 KiB
HTML
77 lines
4.6 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="General query optimization tips" />
|
|
<meta name="abstract" content="Here are some tips to help your queries run as fast as possible." />
|
|
<meta name="description" content="Here are some tips to help your queries run as fast as possible." />
|
|
<meta name="DC.Relation" scheme="URI" content="per0001.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../cl/rgzpfm.htm" />
|
|
<meta name="DC.Relation" scheme="URI" content="../cl/chgpf.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="gotips" />
|
|
<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>General query optimization tips</title>
|
|
</head>
|
|
<body id="gotips"><a name="gotips"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">General query optimization tips</h1>
|
|
<div><p>Here are some tips to help your queries run as fast as possible.</p>
|
|
<div class="section"> <ul><li>Create indexes whose leftmost key columns match your selection predicates
|
|
to help supply the optimizer with selectivity values (key range estimates).</li>
|
|
<li>For join queries, create indexes that match your join columns to help
|
|
the optimizer determine the average number of matching rows.</li>
|
|
<li>Minimize extraneous mapping by specifying only columns of interest on
|
|
the query. For example, specify only the columns you need to query on the
|
|
SQL SELECT statement instead of specifying SELECT *. Also, you should specify
|
|
FOR FETCH ONLY if the columns do not need to be updated.</li>
|
|
<li>If your queries often use table scan access method, use the <span class="cmdname">Reorganize
|
|
Physical File Member (RGZPFM)</span> command to remove deleted rows from
|
|
tables or the <span class="cmdname">Change Physical File (CHGPF)</span> REUSEDLT (*YES)
|
|
command to reuse deleted rows.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section"><p>Consider using the following options:</p>
|
|
</div>
|
|
<div class="section"> <ul><li>Specify ALWCPYDTA(*OPTIMIZE) to allow the query optimizer to create temporary
|
|
copies of data so better performance can be obtained. The iSeries™ Access
|
|
ODBC driver and Query Management driver always uses this mode. If ALWCPYDTA(*YES)
|
|
is specified, the query optimizer will attempt to implement the query without
|
|
copies of the data, but may create copies if required. If ALWCPYDTA(*NO)
|
|
is specified, copies of the data are not allowed. If the query optimizer
|
|
cannot find a plan that does not use a temporary, then the query cannot be
|
|
run. </li>
|
|
<li>For SQL, use CLOSQLCSR(*ENDJOB) or CLOSQLCSR(*ENDACTGRP) to allow open
|
|
data paths to remain open for future invocations.</li>
|
|
<li>Specify DLYPRP(*YES) to delay SQL statement validation until an OPEN,
|
|
EXECUTE, or DESCRIBE statement is run. This option improves performance by
|
|
eliminating redundant validation.</li>
|
|
<li>Use ALWBLK(*ALLREAD) to allow row blocking for read-only cursors.</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="per0001.htm" title="This overview of the query optimizer provides guidelines for designing queries that will perform and will use server resources more efficiently.">Processing queries: Overview</a></div>
|
|
</div>
|
|
<div class="relinfo"><strong>Related information</strong><br />
|
|
<div><a href="../cl/rgzpfm.htm">Reorganize Physical File Member (RGZPFM) command</a></div>
|
|
<div><a href="../cl/chgpf.htm">Change Physical File (CHGPF) command</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |