G
George Potemkin
Guest
First of all, the correction to my previous post: some time ago the toss limit was changed to 1000 bytes (compared to 758 bytes - the average rec size). I got new chanalys created a day after the previous one: Date: Thu Jul 23 13:48:00 2015 Date: Fri Jul 24 13:48:00 2015 462 blocks - it's increase of RM chain length during one day. 2559 blocks were added to chain top (dbkeys from 64421888 to 64462832). 1006 blocks were moved to chain bot (dbkeys from 64389120 to 64462080). Note: once an RM block is moved to the bottom of RM chain, the block will stay here forever if RM chain is constantly growing - to appeal a sentence is not allowed! Only 6 blocks moved to the bottom contain recid holders (1 or 2 holds). In other words, almost all blocks were moved to the chain bottom after adding new records. These blocks have in average 1250 bytes of free space (min: 1 byte, max: 6022 bytes). These blocks have in average 5.7 free slots (min: 1, max: 12). These blocks store in average 10.3 records (min: 4, max: 15). Average record size is 691.20 bytes Engine Crew Monograph No. 2: Space: The Final Frontier says: If the block is not on the RM chain, has unused record slots, and has at least as much free space as the free space constant, it is added to the RM chain. If the block has more than 4 unused slots, it is added to the front of the chain. Otherwise it is added to the end of the chain. I'm not sure what are the rules to move a block that is already on the RM chain to the end of the chain but, IMHO, these rules work inefficiently. In this case a long RM chain can be fixed only offline (using dbrpr/1. Database Scan Menu/8. Rebuild RM Chain) but it will grow again. Toss/create limits, RecSpaceSearchDepth will not help. Regards, George
Continue reading...
Continue reading...