Recommendations for specifying sizes for blocks, CIs, and records
The following recommendations can ensure that your databases are using appropriate block, CI, and record sizes.
- In general, large CI sizes are good for sequential processing, but not for random processing. For indexes and HISAM databases in which sequential processing is most important, CI sizes of at least 8 K are typically best.
- For INDEX databases, such as secondary indexes and HIDAM primary indexes, do not specify the RECORD parameter on the DATASET statement. IMS calculates the appropriate CI sizes automatically.
- For KSDS data sets used by PSINDEX, INDEX, PHIDAM, HIDAM, and HISAM databases, to determine the values for the RECORDSIZE parameter in the IDCAMS DEFINE statements, use the output listing from the DBDGEN process.
- For the data component of KSDS data sets, specify a CI size on the IDCAMS DEFINE statement. The CI size for the data component determines the number of logical records stored in the CI. For the index component of KSDS data sets, do not specify a CI size. By default, DFSMS automatically selects the optimum CI size for the index component of KSDS data sets.
- For the CI size of VSAM ESDS and KSDS data sets, specify the value of the SIZE parameter on the DATASET statement by using the value that is specified on the RECORDSIZE parameter of the IDCAMS DEFINE statement. The CI size for VSAM ESDS and KSDS data sets is determined by the IDCAMS RECORDSIZE parameter and not the DBDGEN SIZE parameter. Using the same value for each parameter can help avoid confusion about which value is in effect.
- For HDAM and HIDAM OSAM data sets, specify the SIZE parameter, but not the BLOCK parameter in the DATASET statement.
- For HISAM databases, unless your record sizes vary, specify a value for the RECORD parameter of the DATASET statement large enough to accommodate the largest record size. If your HISAM database record sizes vary, to avoid wasting space, you can specify a RECORD size large enough to hold the majority of database records and specify a record size for the overflow data set that is large enough to hold the largest record size.
- For OSAM block sizes and VSAM ESDS CI sizes, the block and CI sizes should be large enough to hold entire database records. When database record sizes are very large or vary greatly in size, make the block or CI size large enough to hold the most frequently accessed segments in the database records.
- On SEGM statements, do not specify the FREQ parameter.