The SPDSSIZE
macro variable determines the partition size of any tables that are created during a server
session until SPDSSIZE is specified again with a different value or the value is overridden
by the PARTSIZE= table option. To take effect, the SPDSSIZE value must be greater
than the value declared for MINPARTSIZE= in the server
parameter file.
Use the SPDSSIZE macro variable to improve performance of
WHERE clause evaluation on non-indexed table columns. Splitting the data portion of a server table
at fixed-sized intervals allows
SPD Server to introduce a high degree of
scalability for non-indexed WHERE clause evaluation. This is because the server launches threads
in parallel and can evaluate different partitions of the table without file access
or
thread contention.
The speed enhancement comes at the cost of disk usage. The more data table splits
you create, the more you increase the number of files that are required to store the
rows of the table. The scalability achieved with SPDSSIZE ultimately depends on how
the SPD Server administrator structured the DATAPATH= option for the
domain. The configuration of the DATAPATH= file systems across striped volumes is important.
Each individual volume's striping configuration should be spread across multiple disk
controllers and SCSI channels in the disk storage array. The configuration goal, at
the hardware level, is to maximize parallelism when performing data retrieval.
The default SPDSSIZE values represent the absolute minimum recommended MINPARTSIZE=
settings for each environment. They are intended to ensure that an over-zealous user
cannot arbitrarily create small partitions, thereby generating an excessive number
of physical files. Many sites specify a higher MINPARTSIZE= value in their server
parameter file.
Note: The partition size for a
table cannot be changed after a table is created. If you must change
the partition size, use PROC COPY to duplicate the table and specify
a different SPDSSIZE setting (or PARTSIZE= value) on the output table.