News and tips on Db2 v12 migration : Episode 6

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