it's just an issue of preventing race conditions on concurrent database writes... previously as shown in testing heavy query load while adding lots of new events and updating the access counters on records was causing the database to report transaction errors, which is an atomicity failure
what that means is that at the same time, two transactions were modifying the same record at the same, or very nearly same time, specifically when the DB engine tries to resolve this conflict, after the transactions close, it can't, meaning both transactions have to be repeated
with the transactions made smaller and single purpose, the chances that this collision in time happens are now pretty much shrank down to zero, only takes a few milliseconds timing difference and the access event is atomically separated and no more problem
it really was also just about the last access time record that i added also... this is the only part of the data related to events that ever changes after being written, and secondarily, after being pruned by the garbage collector
so, the GC now has a mutex that locks out the rest of the accesses, and the rest can then run concurrently because transactions are not overlapping in time so much and thus should not get these race conditions any more