Hash partitioning
In hash partitioning the value of a hash function determines about the membership in a partition. In this case no areas are defined but only the number of partitions has to be set. This procedure is always recommended if a separation into partitions is desired but the sorting on the basis of attributes is impossible. In such a case it is impossible to speed up the query externally by using a partition value.
Note for Oracle: To achieve a uniform distribution with hash partitioning in Oracle the number of partitions must be set to a power of 2 (e.g. 2, 4, 8, 16, 32 etc.). Otherwise the outcome is an uneven distribution where some partitions, on average, contain a multiple of rows (e.g. double the number of rows) compared to other partitions.
Configuration example
The example below shows a storage definition that defines a hash partition with 3 partitions.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dbTableStorageDefinition:tableStorageDefinition
xmlns:dbTableStorageDefinition="http://www.tsystems.com/ima/9.0/dbTableStorageDefinition">
<defaultTablespaceDefinition tablespace="IMA_TABSPACE" indexspace="IMA_IDXSPACE"/>
<partitionMethod>
<hashPartitioning>
<partition name="PARTITION_1">
<tablespaceDefinition tablespace="IMA_TABSPACE" indexspace="IMA_IDXSPACE"/>
</partition>
<partition name="PARTITION_2">
<tablespaceDefinition tablespace="IMA_TABSPACE" indexspace="IMA_IDXSPACE"/>
</partition>
<partition name="PARTITION_3">
<tablespaceDefinition tablespace="IMA_TABSPACE" indexspace="IMA_IDXSPACE"/>
</partition>
</hashPartitioning>
</partitionMethod>
</dbTableStorageDefinition:tableStorageDefinition>