Among the factors that affect IMS performance is the size of the
database that is accessed. If the database being accessed is very large, you should evaluate
all SAS programs that you want to access the database directly. When evaluating the
programs, ask the following questions:
-
-
Does the view descriptor's WHERE statement retrieve only those records or segments
that are needed for subsequent
analysis?
-
Does your WHERE statement directly
generate SSAs so that only a subset of the data is passed to SAS for
processing? To determine whether a WHERE statement is generating
SSAs, set the SAS system option IMSDEBUG=Y or set the number of calls
for which you want debugging information.
-
Can you use the
DATA step's MODIFY statement to join view descriptors (where each view represents one
path in the database) when conditions for a MODIFY statement's use apply?
-
Is the data going to be used by more than one procedure? If so, consider requiring
the data to be extracted and placed in a
SAS data file rather than accessed directly by each procedure. (See the VIEWDESC= and OUT= options
in
PROC ACCESS Statement Options for information about extracting IMS data.)