Salesforce

When using Type II Storage Areas, what might cause higher fragmentation of records?

« Go Back

Information

 
TitleWhen using Type II Storage Areas, what might cause higher fragmentation of records?
URL NameP113930
Article Number000126953
EnvironmentProduct: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
When using Type II Storage Areas, what might cause higher fragmentation of records?
What causes record fragmentation?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
If records are created in a block and later the records are updated causing the size of the records to grow then the possibility exists that the new data being added to the record will not fit into the existing block the record was started in.

Updating records with information larger than the current block can hold may cause fragmentation regardless if the area is defined as Type I or Type II.

The online defragmentation feature introduced in OpenEdge 10.1A, record fragmentation has been dramatically reduced.

In broad strokes online record defragmentation works as follows:
  1. When a record is updated, the original recid that the record holds will be maintained. 
  2. Additional fragments may be repositioned as needed to keep the total number of fragments to [ 32/database blocksize + 1 ] or less.
  3. Record fragments will be concatenated together in a new block to maintain this limit.
​In other words:
  • 4KB databases, a record will have no more than 9 fragments in total. 
  • 8KB databases, a record will have no more than 5 fragments in total. 
Prior to the online defragmentation feature, there was no limit to the number of fragments a record could have. A particular customer case analysis found records fragmented across as many as 800 database blocks on a table with a "Comment" type field that was updated periodically with small updates causing extra disk seeks (i/o) performance penalty.

It is important to note that "online defragmentation" will have a performance overhead. Storing tables in Storage Areas with the appropriate Records per Block setting alleviate the need for fragmentation in the first instance.
Workaround
Notes
Keyword Phrase
Last Modified Date5/22/2019 8:18 AM

Powered by