SYS_SQLSETLIMIT Macro Variable

For the SQL procedure, specifies the maximum number of values that is used to optimize a hash join during DBMS processing.

Syntax

SYS_SQLSETLIMIT= n;

Required Argument

n

specifies the maximum number of values in the IN condition that is passed to the DBMS for processing,

Default 1024
Restriction The SYS_SQLSETLIMIT macro variable affects only certain hash joins.
Example
%let SYS_SQLSETLIMIT=250;
%let SYS_SQLSETLIMIT=1200;

Details

Hash Join

To optimize performance, the SQL procedure might use a hash join when an index join is eliminated as a possibility. With a hash join, the smaller table is reconfigured in memory as a hash table. PROC SQL sequentially scans the larger table, and performs a row-by-row hash lookup against the small table to form the result set. A memory-sizing formula determines whether a hash join is used. The formula is based on the PROC SQL BUFFERSIZE option, whose default value is 64 KB. On a memory-rich system, you should consider increasing BUFFERSIZE to increase the likelihood that a hash join is used.