Welcome to the { mindfrost82.com } forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Go Back   { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > MS Office > Access

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 08-15-2008, 02:57 PM
=?Utf-8?B?S1c=?=
 
Posts: n/a
Database Bloat

I have two separate applications that open the same database. This is
causing database bloat when inserting records. I created the following
program to run some tests. I will just put in the basics:

Dim adoconn As ADODB.Connection
ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" &
App.Path & "\db.mdb;Uid=Admin;Pwd="
Set adoconn = New Connection
adoconn.ConnectionString = ConnectionString
adoconn.Open

For index = 1 to 25000
<<BUILD SQL INSERT STATEMENT AND ASSIGN TO TMR_SQL>>
Dim TMR_rs As ADODB.Recordset
Set TMR_rs = CreateObject("adodb.recordset")
TMR_rs.CursorLocation = adUseClient
TMR_rs.Open TMR_SQL, adoconn, adOpenDynamic
If TMR_rs.State = 1 Then TMR_rs.Close
Set TMR_rs = Nothing
Next


The above code inserts 25000 records into a table. If I run the above code
when the database is closed the database only increases about 8MB in size and
performing a compact does not shrink the size. However, if I run my
application that opens the databse prior to running the above code the
database increases 65MB. Can anyone tell me why having the database open
prior to running the code causes the database size to increase so much?
Reply With Quote
  #2 (permalink)  
Old 08-17-2008, 08:51 AM
Tony Toews [MVP]
 
Posts: n/a
Re: Database Bloat

KW <KW@discussions.microsoft.com> wrote:

>The above code inserts 25000 records into a table. If I run the above code
>when the database is closed the database only increases about 8MB in size and
>performing a compact does not shrink the size. However, if I run my
>application that opens the databse prior to running the above code the
>database increases 65MB. Can anyone tell me why having the database open
>prior to running the code causes the database size to increase so much?


I noticed this difference in behavior when moving from A97 to A2000
thus Jet 3.5 to Jet 4.0. I suspect the difference is because when
the database is opened by another app Jet 4.0 is adding each record to
it's own 4 kb page. Whereas in Jet 3.5 records would be added to the
same 2 kb page.

25,000 * 4 kb is 100 Mb so that isn't precisely the answer in your
case though.

Other than this I have no idea.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Reply With Quote
Reply

  { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Microsoft > MS Office > Access


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 07:24 AM.


Powered by vBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.
© 1999-2008 mindfrost82.com v11.0


Sponsors:
Loan | Remortgages | IT Outsourcing | Mortgage Loans | Property in Abu Dhabi



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114