In some
cases, SAS processes data in more than one pass through the same set
of rows. Spooling is the process of writing rows that have been retrieved
during the first pass of a data read to a spool file. In the second
pass, rows can be reread without performing I/O to the DBMS a second
time. When data must be read more than once, spooling improves performance.
Spooling also guarantees that the data remains the same between passes,
as most data sources do not support member-level locking.
Teradata Details: SPOOL=NO requires SAS to issue
identical SELECT statements to Teradata twice. Additionally, because
the Teradata table can be modified between passes, SPOOL=NO can cause
data integrity problems. Use SPOOL=NO with discretion.
MySQL Details: Do not use SPOOL=NO with the MySQL
driver.