Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390 > Understanding Siebel Partitioning > Strategies for Special Types of Tables >

Partitioning EIM Tables for Performance


To speed up EIM load and reduce I/O (input and output) contention, make sure all partitions for EIM tables are spread across the entire I/O subsystem. You can use the Siebel Storage Configuration process to define partitions on EIM tables. For detailed information about this process, see Configuring the Database Layout.

NOTE:  The sample storage control files also contain partitioning of certain EIM tables. Before you use EIM, verify that you are using the correct key ranges, because key ranges depend on which batch numbers are used.

It is recommended that you partition EIM tables based on _U1 indexes of EIM tables, that is, IF_ROW_BATCH_NUM, ROW_ID. This allows an EIM batch input to be assigned to one partition, thereby allowing multiple EIM batches to be run in parallel.

You can compute the optimal number of partitions for an EIM table by dividing the number of rows in the EIM table by the number of parallel processes you intend to run. The result should be the approximate number of partitions for that table.

The recommended partitioning index is usually the U1 index, which is IF_ROW_BATCH_NUM and ROW_ID. In some cases, you might need to consider a different index for partitioning.

In the following example, EIM_CONTACT is partitioned based on IF_ROW_BATCH_NUM and CON_LAST_NAME. The target base table S_CONTACT is also partitioned based on LAST_NAME. This results in less random I/O by DB2 while accessing the S_CONTACT table.

CREATE INDEX SIEBTO.EIM_CONTACT_P99
ON SIEBTO.EIM_CONTACT
( IF_ROW_BATCH_NUM ASC ,
CON_LAST_NAME ASC )

This special method applies only to target base tables that are partitioned based on the natural key—not by PARTITION_COLUMN, which is derived from ROW_ID. The following examples illustrate partitioning EIM tables for S_ORG_EXT and S_OPTY.

CREATE INDEX SIEBTO.EIM_ACCOUNT_P99
ON SIEBTO.EIM_ACCOUNT
( IF_ROW_BATCH_NUM ASC ,
NAME ASC ,
ACCNT_BI ASC ,
LOC ASC )

CREATE INDEX SIEBTO.EIM_OPTY_P99
ON SIEBTO.EIM_OPTY
( IF_ROW_BATCH_NUM ASC ,
OPTY_NAME ASC )

Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390