[AccessD] notes on mdb bloat

Jim Dettman jimdettman at earthlink.net
Wed Mar 3 11:40:47 CST 2004


Gustav,

  My guess would be no.  Note that Garry mentions that it stays bloated
until compact.  That doesn't make sense.  If the record locking algorithm
can work after the database is compacted, then why would it have to bloat it
in the first place?  It just doesn't make sense from that standpoint.

  It does make sense though as to how they could achieve it with little
problem, as they are just duplicating a technique that many developers used
to get pseudo record level locking.  It would be a simple matter to change
the add logic to always use an empty page (they in part had already done
that for JET 3.5).

  So there's another reason why it's probably not that; if it were that
simple (one record per page), then why did we need a new version of JET?
Seems like something they could have put in A95 or A97 quite easily.

  With no docs, it's all guess work though.

Jim Dettman
President,
Online Computer Services of WNY, Inc.
(315) 699-3443
jimdettman at earthlink.net

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Gustav Brock
Sent: Wednesday, March 03, 2004 12:11 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] notes on mdb bloat


Hi all

Does this - simplified - boil down to, that all row-level locking does
compared to page-level locking is bloating a row to fill a page?

/gustav


> Hi Seth et all

> In Garry Robinson's newsletter I noted this extremely interesting topic:


> SINGLE RECORD LOCKING, BLOAT AND CITRIX BUGS

> Did you know that the record-level locking option (menu
> Tools~Options~Advanced) that is used by Access 2000 onwards has an
> interesting twist. To achieve a single record lock, each record that
> is locked uses up all of an Access page in the mdb file. This page of
> data, most of which will probably be empty for records with only a few
> fields, consumes 4000 bytes. This space is later recovered when the
> database is compacted but if you have a database that seems to expand
> fast, this could be your culprit. For more on this database bloat and
> a possible cure for Access corruptions for Citrix head to this page.

> http://ewbi.blogs.com/develops/2004/01/access_corrupti.html

> and an other blog on the same topic
> http://dbforums.com/arch/213/2002/10/551337

> Gary is here:

> http://www.vb123.com/

> /gustav


>> I hadn't even thought of that.  I tried it just now, and the resulting
>> mdb is 1.5MB.  Still three times as big as the A97 version, but not as
>> big as the base A2K version.

>> The unicode comments make sense, I had forgotten about that, too.

>> Oh well, more interesting info from the developer front...

>> Seth

>> On Wed, 2003-03-12 at 11:45, Gustav Brock wrote:
>>> Hi Seth
>>>
>>> What happens if you "forward port" the A97 version to A2000?
>>>
>>> /gustav

--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com





More information about the AccessD mailing list