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

77 lines
5.3 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="Queue" />
<meta name="abstract" content="The Queue is a temporary object that allows the optimizer to feed the recursion of a recursive query by putting on the queue those data values needed for the recursion. This data typically includes those values used on the recursive join predicate and other recursive data being accumulated or manipulated during the recursive process." />
<meta name="description" content="The Queue is a temporary object that allows the optimizer to feed the recursion of a recursive query by putting on the queue those data values needed for the recursion. This data typically includes those values used on the recursive join predicate and other recursive data being accumulated or manipulated during the recursive process." />
<meta name="DC.subject" content="definitions, queue access method, queue, scan access method, access method" />
<meta name="keywords" content="definitions, queue access method, queue, scan access method, access method" />
<meta name="DC.Relation" scheme="URI" content="rzajqtempobj.htm" />
<meta name="DC.Relation" scheme="URI" content="rzajqenqueue.htm" />
<meta name="DC.Relation" scheme="URI" content="rzajqdequeue.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="rzajqqueue" />
<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>Queue</title>
</head>
<body id="rzajqqueue"><a name="rzajqqueue"><!-- --></a>
<img src="./delta.gif" alt="Start of change" /><!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Queue</h1>
<div><p>The Queue is a temporary object that allows the optimizer to feed
the recursion of a recursive query by putting on the queue those data values
needed for the recursion. This data typically includes those values used
on the recursive join predicate and other recursive data being accumulated
or manipulated during the recursive process.</p>
<div class="section"><p> The Queue has two operations allowed:</p>
<ul><li>Enqueue: puts data on the queue</li>
<li>Dequeue: takes data off the queue</li>
</ul>
<p>A queue is an efficient data structure because it contains only that
data needed to feed the recursion or directly modified by the recursion process
and its size is managed by the optimizer.</p>
</div>
<div class="section"><p>Unlike other temporary objects created by the optimizer, the queue
is not populated in all at once by the underlying query node tree but is really
a real time temporary holding area for values feeding the recursion. In this
regard, a queue is not considered temporary as it will not prevent
the query from running if ALWCPYDTA(*NO) was specified, because the data can
still being flowing up and out of the query at the same time the recursive
values are inserted into the queue to be used to retrieve additional join
rows.</p>
<p>A queue is an internal data structure and can only be created
by the database manager.</p>
</div>
<div class="section"><p>Visual explain icon:</p>
</div>
<div class="section"><p><img src="rzajq521.gif" alt="Queue icon" /></p>
</div>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="rzajqenqueue.htm">Enqueue</a></strong><br />
During a enqueue operation, an entry it put on the queue that contains key values used by the recursive join predicates or data manipulated as a part of the recursion process. The optimizer always supplies an enqueue operation to collect the required recursive data on the query node directly above the Union All.</li>
<li class="ulchildlink"><strong><a href="rzajqdequeue.htm">Dequeue</a></strong><br />
During a dequeue operation, an entry is taken off the queue and those values specified by recursive reference are fed back in to the recursive join process.</li>
</ul>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzajqtempobj.htm" title="Temporary objects are created by the optimizer in order to process a query. In general, these temporary objects are internal objects and cannot be accessed by a user.">Temporary objects and access methods</a></div>
</div>
</div>
<img src="./deltaend.gif" alt="End of change" /></body>
</html>