Chris,
Check the 'fullness' of the master set. A general rule of thumb is
if a master set is greater than 80% full, one needs to expand its
capacity. This is because as a master gets fuller, there is a
greater likelihood that when it hashes the key and goes to that address
to place a new entry, that address will already be occupied. When
this occurs, IMAGE has to search for an open entry in the set by reading
serially forward in the set. If it reaches the end of the set and hasn't
found an opening, it will begin at the beginning of the set and continue
to read forward until it either finds an opening or reaches the point
that it started (which indicates the set is 100% full). So as the set
gets more full, it may have more reading to search through to find an
opening for the each new entry, thus 'slowing down' performance.
Without looking at more detail, I would suggest looking at the free
entry count for the set, and if its lower than say 20% of the capacity,
expand the capacity.
There are a lot of other factors that come into play as well and this
is a simple view of one case. I would recommend reading the paper
Fred White has on this subject which is on the Adager web site.
At 05:46 AM 1/2/01 -0600, Chris Schofield wrote:
>Hello everyone
>
>I have a question regarding the update / adding of records to the following
>set.
>
>I have a Transact program that finds a record and then updates it, if the
>record is not found then a new record is added. The program appears to have
>slowed down as the number of records in the set has increased. I am using
>entry level locking when trying to update the record.
>
>I am using keyed access to find the record.
>
>Is there a solution to my "slowing down" problem ?
>
>The set is as follows
>
>
>SET NAME:
> CTR,MANUAL
>
> ITEMS:
> SYGEKSNR, X10 <<KEY ITEM>>
> PATTYP, X2
> PABARN, X2
> CTRSALD, P12
> CTRUDLI, P12
> CTRTID, X8
> CTRBTID, X8
> DATO, X6
>
> CAPACITY: 6000011 ENTRIES: 3010823
>
>
>Regards
>
>Chris
|