04 novembre 2019
RID (row identifier) changes
RID size
Db2 introduces a new UTS PBR (partition by range) table space structure called ‘UTS PBR RPN’ (relative page number). For table spaces specifying this attribute (UTS PBR RPN), the table space will have a 7 bytes RID (in place of 5 bytes). See here how the RID storage is used :
- 5 bytes RID:
- Partition number & Page number shares bytes 1-4
- RID on byte 5
- 7 bytes RID:
- Partition number on bytes 1-2
- Page number on bytes 3-6
- RID on byte 7
Impacts
- DataManager physical limit reduced from 26M RIDs to 16,6M RIDs; so this may increase the number of DM LIMIT EXCEEDED
- Effect on Db2 log records : whether RPN is used or not
RID Statistics
QISTRLLM (RDS LIMIT EXCEEDED): Higher numbers are observed in Db2 12 than in Db2 11
Why ? Is also increased by the Data Manager component when Db2 facilitates incremental processing of the RIDs by retrieving one RID block of RIDs in advance (eg. used by adaptive index processing).
A quite recent APAR (PH07513/UI63362) enhance Db2 trace information about RID list processing
Following Fields were not set by Db2:
- QISTWFRHIG (MAX RID BLOCKS OVERFLOWED)
- QISTWFRCUR (CURRENT RID BLOCKS OVERFLOWED)
New counter QXRFMIAP for # of times RID list processing was not used.
RID Pool
Expect to see increased use of list prefetch access, and possibly more use of hybrid join access; review the size of the RID pool (default=400000)
Next episode : Transfer of ownership