Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390 > Customizing a Development Environment > Siebel Tools Considerations on DB2 UDB for z/OS and OS/390 >
Reducing VARCHAR Field Lengths
DB2 UDB for z/OS and OS/390 pads VARCHAR fields to their maximum lengths in indexes. For greatest flexibility, Siebel applications make extensive use of VARCHAR columns.
This might cause performance degradation for z/OS and OS/390 customers who have a large number of rows in certain tables, such as S_CONTACT.
The total length of an index equals the combined lengths of all index columns. To reduce the index length, you must reduce the length of participating columns. To make better use of index space, users of DB2 UDB for z/OS and OS/390 are allowed to reduce VARCHAR lengths—where there is no application impact—using Siebel Tools.
You should analyze your business needs at installation or upgrade to determine whether it is necessary to reduce VARCHAR field lengths. Some examples are the following:
- FST_NAME and LAST_NAME, VARCHAR(50) columns in S_CONTACT. These belong to many indexes.
- ADDR, a VARCHAR(200) column in S_ADDR_PER.
- NAME, a VARCHAR(100) column in S_ORG_EXT.
Be aware that you also must make the same length reductions to columns denormalized from those you have reduced. One example is S_PER_RESP.PER_FST_NAME, which is denormalized from S_CONTACT.FST_NAME.
A denormalized column duplicates the data in a column in another (base) table for performance reasons. The table and column names of the duplicated column are specified in the Denormalization Path property of the Column object definition of the denormalized column. For more information on columns, see Using Siebel Tools.