Optimization on Group Fields

If a report request contains IF or WHERE selection tests against one or more fields that describe the left-most portion of a GROUP descriptor, the ADABAS Interface combines this request into a test that uses the superdescriptor for greater efficiency. If any of the component (or parent) fields of the superdescriptor are defined to ADABAS with null-suppression, be sure to note this information in the Access File to ensure accuracy of reads.

For example, consider the following Master File extract:

GROUP=SUPERD ,ALIAS=SD ,USAGE=A8 ,ACTUAL=A8 ,INDEX=I ,$
FIELD=PART1 ,ALIAS=P1 ,USAGE=A4 ,ACTUAL=A4 ,$
FIELD=PART2 ,ALIAS=P2 ,USAGE=A4 ,ACTUAL=A4 ,$
Figure 6-3. Master File With a Two-field Superdescriptor

If, in a report request, you include the following two tests,

WHERE PART1 EQ 'ABCD'
WHERE PART2 EQ 'EFGH'

these two tests are equivalent to the following FOCUS syntax:

WHERE SUPERD EQ 'ABCD/EFGH'

This combination uses the superdescriptor's inverted list and optimizes the ADABAS call. This optimization is performed only if all null-suppressed (NU=YES) superdescriptor components are explicitly referenced in IF or WHERE tests.


Information Builders