When creating and using view descriptors,
follow these guidelines to minimize
ADABAS processing and your operating system resources and
to reduce the time
ADABAS takes to access data.
-
Specify
selection criteria to subset the number of logical records
ADABAS returns to SAS.
-
Write selection criteria that enable
ADABAS to use inverted lists when
possible. This applies whether you specify the selection criteria
as part of the view descriptor or in a SAS program. This is especially
important when accessing a large
ADABAS file.
When
ADABAS cannot use an inverted list, it sequentially
scans the entire file. You cannot guarantee that
ADABAS uses an inverted list to process a
condition on a descriptor data field, but you can write selection
criteria that enable
ADABAS to use available inverted lists effectively.
-
Select only the data fields your
program needs. Selecting unnecessary data fields adds extra processing
time and requires more memory.
-
Use a BY statement to specify the order in which logical
records are presented to SAS only if SAS needs the data in a particular
order for subsequent processing. You can use
ADABAS descriptor data fields only.
As an alternative to using a BY statement, which consumes
CPU time each time you access the
ADABAS file, you could use the SORT procedure with the OUT=
option to create a sorted SAS data file. In this case, SAS, not
ADABAS, does the sorting. This
is a better approach for data that you want to use many times.
-
If a view descriptor describes
a large amount of
ADABAS
data and you uses the view descriptor often, it might be more efficient
to extract the data and place it in a SAS data file. See
Performance Considerations for more information about when it
is best to extract data.
-
If you do not need all occurrences of multiple-value
fields, limit the number of occurrences with the MVF statement.
-
If you reference data fields in
selection criteria that are not
ADABAS descriptors, it is generally more efficient to put
those conditions in a SAS WHERE clause, not in the view descriptor
WHERE clause.
-
To optimize WHERE clause processing,
the
ADABAS interface view
engine uses the
ADABAS L3
command when possible. However, a number of restrictions must be
satisfied before the L3 command can be used. For these restrictions,
see
Overview of the SAS/ACCESS Interface to ADABAS.