106 lines
6.1 KiB
HTML
106 lines
6.1 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="Dequeue" />
|
|
<meta name="abstract" content="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." />
|
|
<meta name="description" content="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." />
|
|
<meta name="DC.subject" content="definitions, dequeue access method, dequeue, access method, access method" />
|
|
<meta name="keywords" content="definitions, dequeue access method, dequeue, access method, access method" />
|
|
<meta name="DC.Relation" scheme="URI" content="rzajqqueue.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="rzajqdequeue" />
|
|
<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>Dequeue</title>
|
|
</head>
|
|
<body id="rzajqdequeue"><a name="rzajqdequeue"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Dequeue</h1>
|
|
<div><p>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.</p>
|
|
<div class="section"><p>The optimizer always supplies a corresponding enqueue, dequeue
|
|
pair of operations for each reference of a recursive common table expression
|
|
or recursive view in the specifying query. Recursion ends when there are no
|
|
more entries to pull off the queue.</p>
|
|
</div>
|
|
<div class="section">
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><caption>Table 1. Dequeue Attributes</caption><thead align="left"><tr><th valign="top" width="30.96446700507614%" id="d0e41">Data Access Method</th>
|
|
<th valign="top" width="69.03553299492386%" id="d0e43">Dequeue</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Description</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 ">Removes an entry off the queue, provides minimally one
|
|
side of the recursive join predicate that feeds the recursive join and other
|
|
data values that are manipulated through the recursive process. The dequeue
|
|
is always the left side of inner join with constraint where the right side
|
|
of the join being the target child rows. </td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Advantages</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 "><ul><li>Provides very quick access to recursive values </li>
|
|
<li>Allows for post selection of local predicate on recursive data values</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Likely to be used</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 "><ul><li>A required access method for recursive queries </li>
|
|
<li>A single dequeued values can feed the recursion of multiple iterative
|
|
fullselects that reference the same rcte/view</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Example SQL statement</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 "><pre>WITH RPL (PART, SUBPART, QUANTITY) AS
|
|
( SELECT ROOT.PART, ROOT.SUBPART, ROOT.QUANTITY
|
|
FROM PARTLIST ROOT
|
|
WHERE ROOT.PART = '01'
|
|
UNION ALL
|
|
SELECT CHILD.PART, CHILD.SUBPART, CHILD.QUANTITY
|
|
FROM RPL PARENT, PARTLIST CHILD
|
|
WHERE PARENT.SUBPART = CHILD.PART
|
|
)
|
|
SELECT DISTINCT PART, SUBPART, QUANTITY
|
|
FROM RPL</pre>
|
|
</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Messages indicating use</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 ">There are no explicit messages that indicate the use
|
|
of a dequeue</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>SMP parallel enabled</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 ">Yes</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Also referred to as</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 ">Not applicable</td>
|
|
</tr>
|
|
<tr><td valign="top" width="30.96446700507614%" headers="d0e41 "><strong>Visual Explain icon</strong></td>
|
|
<td valign="top" width="69.03553299492386%" headers="d0e43 "><br /><img src="rzajq555.gif" alt="Dequeue icon" /><br /></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="section"><p></p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzajqqueue.htm" title="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.">Queue</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |