IOBLOCKSIZE= Data Set Option

Specifies the size in bytes of a block of observations to be used in an I/O operation.
Valid in: DATA step and PROC step
Default: 32,768 bytes
Engine: SPD Engine only

Syntax

IOBLOCKSIZE=n

Required Argument

n
is the size in bytes of a block of observations.

Details

The SPD Engine uses blocks in memory to collect the observations to be written to or read from a data component file. IOBLOCKSIZE= specifies the size of these blocks. (The actual size is computed to accommodate the largest number of observations that fit in the specified size of n bytes. Therefore, the actual size is a multiple of the observation length).
The block size specified in IOBLOCKSIZE= also applies to compressed data sets.
Once a data set is created, you cannot change its block size. To resize the block, you must copy the data set to a new data set, setting IOBLOCKSIZE= to the appropriate block size for the output data set.
The default value and the IOBLOCKSIZE= smallest value is 32,768 bytes. You specify an IOBLOCKSIZE= value that complements the data to be accessed. Access to data that is randomly distributed favors a smaller block size, such as 32,768 bytes, because accessing smaller blocks is faster than accessing larger blocks. In contrast, access to data that is uniformly or sequentially distributed or that requires a full data set scan should have a large block size, such as 131,072 bytes.

Example: Using IOBLOCKSIZE=

/*IOBLOCKSIZE set to 64K */
data sport.maillist(ioblocksize=65536);
/*IOBLOCKSIZE set to 32K */
data sport.maillist(ioblocksize=32768 compress=yes);