Previous Page | Next Page

SAS System Options

IBUFNO= System Option



Specifies an optional number of extra buffers to be allocated for navigating an index file.
Valid in: configuration file, SAS invocation, OPTIONS statement, SAS System Options window
Category: Files: SAS Files
PROC OPTIONS GROUP= SASFILES
Default: 0

Syntax
Syntax Description
Details
See Also

Syntax

IBUFNO=n | nK | nM | nG | nT |hexX | MIN | MAX


Syntax Description

n | nK | nM | nG | nT

specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.

Restriction: Maximum value is 10,000.
hexX

specifies the number of extra index buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx specifies 45 buffers.

MIN

sets the number of extra index buffers to 0. This is the default.

MAX

sets the maximum number of extra index buffers to 10,000.


Details

An index is an optional SAS file that you can create for a SAS data file in order to provide direct access to specific observations. The index file consists of entries that are organized into hierarchical levels, such as a tree structure, and connected by pointers. When an index is used to process a request, such as for WHERE processing, SAS does a binary search on the index file and positions the index to the first entry that contains a qualified value. SAS uses the value's identifier to directly access the observation that contains the value. SAS requires memory for buffers when an index is actually used. The buffers are not required unless SAS uses the index, but they must be allocated in preparation for the index that is being used.

SAS automatically allocates a minimal number of buffers in order to navigate the index file. Typically, you do not need to specify extra buffers. However, using IBUFNO= to specify extra buffers could improve execution time by limiting the number of input/output operations that are required for a particular index file. However, the improvement in execution time comes at the expense of increased memory consumption.

Note:   Whereas too few buffers allocated to the index file decrease performance, over allocation of index buffers creates performance problems as well. Experimentation is the best way to determine the optimal number of index buffers. For example, experiment with ibufno=3, then ibufno=4, and so on, until you find the least number of buffers that produces satisfactory performance results.  [cautionend]


See Also

"Understanding SAS Indexes" in SAS Language Reference: Concepts.

System Option:

IBUFSIZE= System Option

Previous Page | Next Page | Top of Page