T.R | Title | User | Personal Name | Date | Lines |
---|
4975.1 | | HOTRDB::PMEAD | Paul, [email protected], 719-577-8032 | Tue Jan 28 1997 17:54 | 1 |
| Did you read the internals book?
|
4975.2 | No additional information | M5::DDAYBERR | | Wed Jan 29 1997 10:45 | 15 |
| Of course!
Paul, I have what appears to be a 6.0 internals manual and pages
4-8 and 4-9 talk about MATCH and CROSS --- NO mention of ZIGZAG.
I also have a 5.1 internals manual which does have data on the
ZIGZAG strategy, but it gives no more hints than the Performance
manual, which simply states the inner loop needs an index. The
7.0 Performance manual seems to indicate an index on either the
inner or outer loop will suffice.
What's necessary to ensure RDB will use a ZIGZAG.
|
4975.3 | | M5::LWILCOX | Chocolate in January!! | Wed Jan 29 1997 12:40 | 11 |
| <<< Note 4975.2 by M5::DDAYBERR >>>
-< No additional information >-
>> What's necessary to ensure RDB will use a ZIGZAG.
A sewing machine?
:-).
|
4975.4 | | NOVA::SMITHI | Don't understate or underestimate Rdb! | Wed Jan 29 1997 13:26 | 15 |
| This is what I got from the Optimizer folks...
The following conditions should be met to use the zigzag match:
1. Either outer or inner (or both) legs should use indexed retrieval.
2. There is no sort in either outer or lnner leg.
3. No full outer join.
4. No inner leg uses range list scan of hashed index.
(e.g. a in (v1, v2, ..., vn) where a is column in hashed index)
I believe (1) describes Rdb7 where we exhanced zigzag for the outer leg.
If you post the example here with STRATEGY output we can see better...
Ian
|
4975.5 | debug flags on smaller query soon | M5::DDAYBERR | | Wed Jan 29 1997 16:38 | 15 |
|
Ian, thank-you very much for the details. I checked the customer's
code and he isn't doing a full outer join or a sort, and the index in
use is sorted. I've asked him to narrow down the scope of the
statement though, because the SELECT statement in question, is a VIEW
SELECT across two tables, but there are about 17 CASE WHEN EXISTS
statements that validate data within the VIEW SELECT statement. I've
asked the customer to narrow this down to the original SELECT, and
execute it outside of the VIEW and without the CASE statements, to see
if we do the zig-zag strategy then. He expects to be able to provide
this data in 3 days.
Thanks again for the details.
Debbie
|