This option improves
performance by specifying a number of rows that can be held in memory
for input into SAS. Buffering data reads can decrease network activities
and increase performance. However, because SAS stores the rows in
memory, higher values for READBUFF= use more memory. In addition,
if too many rows are selected at once, rows that are returned to the
SAS application might be out of date. For example, if someone else
modifies the rows, you do not see the changes.
When READBUFF=1, only
one row is retrieved at a time. The higher the value for READBUFF=,
the more rows the DBMS engine retrieves in one fetch operation.
DB2
under UNIX and PC Hosts: If you do not specify
this option, the buffer size is automatically calculated based on
the row length of your data and the SQLExtendedFetch API call is used
(this is the default).
DB2
under z/OS: For SAS 9.2 and above, the default
is 1 and the maximum value is 32,767.
Microsoft
SQL Server, ODBC: If you do not specify this option,
the SQLFetch API call is used and no internal SAS buffering is performed
(this is the default). When you set READBUFF=1 or greater, the SQLExtendedFetch
API call is used.
HP
Neoview, Netezza: The default is automatically
calculated based on row length.
OLE
DB: The default is 1.
Oracle: The
default is 250.
Sybase: The
default is 100.