READBUFF= Data Set Option

Specifies the number of rows of DBMS data to read into the buffer.
Valid in: DATA and PROC steps (when accessing DBMS data using SAS/ACCESS software)
Alias: ROWSET_SIZE= [DB2 under UNIX and PC Hosts, Microsoft SQL Server, Netezza, ODBC, OLE DB]
Default: LIBNAME setting
Data source: Aster nCluster, DB2 under UNIX and PC Hosts, DB2 under z/OS, Greenplum, HP Neoview, Microsoft SQL Server, Netezza, ODBC, OLE DB, Oracle, Sybase, Sybase IQ
See: READBUFF= LIBNAME option

Syntax

READBUFF=integer

Syntax Description

integer
specifies the maximum value that is allowed by the DBMS.

Details

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, the rows that are returned to the SAS application might be out of date.
When READBUFF=1, only one row is retrieved at a time. The higher the value for READBUFF=, the more rows the SAS/ACCESS engine retrieves in one fetch operation.
DB2 under UNIX and PC Hosts:
By default, the SQLFetch API call is used and no internal SAS buffering is performed. Setting READBUFF=1 or greater causes the SQLExtendedFetch API call to be used.
Greenplum, Microsoft SQL Server, Netezza, ODBC, Sybase IQ:
By default, the SQLFetch API call is used and no internal SAS buffering is performed. Setting READBUFF=1 or greater causes the SQLExtendedFetch API call to be used.