Most
SAS/ACCESS interfaces support threaded
Reads. With a threaded Read, the table read time can be reduced by
retrieving the result set on multiple connections between SAS and
a DBMS. To perform a threaded Read, SAS performs these tasks:
-
It creates threads,
which are standard operating system tasks that are controlled by SAS,
within the SAS session.
-
It establishes a DBMS
connection on each thread.
-
It causes the DBMS to
partition the result set and reads one partition per thread. To cause
the partitioning, SAS appends a WHERE clause to the SQL so that a
single SQL statement becomes multiple SQL statements, one for each
thread.
Threaded Reads only
increase performance when the DBMS result set is large. Performance
is optimal when the partitions are similar in size. In most cases,
threaded Reads should reduce the elapsed time of the SAS job. However,
threaded Reads generally increase the workload on the DBMS. For example,
threaded Reads for DB2 under
z/OS involve a trade-off, generally reducing
job elapsed time but increasing DB2 workload and CPU utilization.
Threaded Reads are most
effective on new, faster computer hardware running SAS, and with a
powerful parallel edition of the DBMS. For example, if SAS runs on
a fast uniprocessor or on a multiprocessor machine and your DBMS runs
on a high-end SMP server, you receive substantial performance
gains.
For information about
threaded Reads, see
SAS/ACCESS for Relational Databases: Reference.