PARTSIZE= Table Option

Specifies the size of an SPD Server table partition.

Valid in: SPD Server
Default: 16 MB for domains that are not Hadoop domains, 128 MB for Hadoop domains
Restriction: The PARTSIZE= specification is limited by MINPARTSIZE=, a server parameter maintained by the server administrator. Ask your administrator what the MINPARTSIZE= setting is for your site. If you use PARTSIZE=, the value of PARTSIZE= must be greater than the value of MINPARTSIZE= to have any effect.

Syntax

PARTSIZE=n

Required Argument

n

the size of the partition. The number given is assumed to be in megabytes.

Details

Specifying PARTSIZE= forces the software to partition (split) the server tables at the given size. The actual size is computed to accommodate the largest number of rows that will fit in the specified size of n megabytes.
Use this option to improve performance of WHERE clause evaluation on non-indexed table columns and on SQL GROUP_BY processing. By splitting the data portion of a server table at fixed-sized intervals, the software can introduce a high degree of scalability for these operations. The software can do this by launching threads in parallel to perform the evaluation on different partitions of the table, without the threat of file access contention between the threads. There is, however, a price for the table splits: an increased number of files, which are required to store the rows of the table.
The PARTSIZE= specification is limited by the MINPARTSIZE= server parameter. MINPARTSIZE= ensures that an over-zealous user does not create arbitrarily small partitions, thereby generating a large number of files. When MINPARTSIZE= is omitted from the server parameter file, the default value is 16 MB for domains that are not Hadoop domains and 128 MB for Hadoop domains. These are the absolute minimum recommended settings for each environment. 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 PARTSIZE= setting on the output table.

Example

Using PROC SQL, create a table with a partition size of 50 MB. If 50 MB is greater than the MINPARTSIZE= setting and you are setting the option for a table that is not in a Hadoop domain, the value will be applied. Otherwise, PARTSIZE= will have no effect.
proc sql;
create table SPDSCEN.HR80SPDS(partsize=50)
  as select
    state,
    age,
    sex,
    hour89,
    industry,
    occup
   from SPDSCEN.PRECS
   where hour89 > 40;
quit;

See Also

SPD Server macro variables:
Last updated: February 8, 2017