Skip to main content
3 of 3
added 98 characters in body
RolandoMySQLDBA
  • 184.4k
  • 33
  • 323
  • 531

50MB is very small. I would not worry about size at this time. The DB can grow if you do a lot of coding in the DB, updating form designs, create new stored queries, and things like these.

If your queries are slow, it would not be due to DB size because Access tends to append data changes rather than handle data changes in place in many cases.

I would look into the indexing of all your tables. Look for any queries you are making that use WHERE clauses whose columns are not indexed. You may need to consider compound indexes for WHERE clauses with multiple colname= combinations.

What concerns me is the number of columns in the HOUSES table. 60 columns? That is a lot of columns. Changes are the lenght of many of the rows are spanning longer than Access would like. Fetching just a single row from the HOUSES table is proabaly an expensive operation. You should look into denormalizing the HOUSES table. You could just go to the Database Tools tab, and Click Analyze Table.

In addition, you could just go to the Database Tools tab, and Click Analyze Performance and start measure other potential bottlenecks.

If the database starts to grow too large (over 1GB) or if you DB is in the frequent of doing heavy updates of rows, you should run Compact/Repair periodically. You may be surprised how much space will be reclaimed in doing so. You can do it in one of two ways:

  • With the DB Open, Click File in the Top Toolbar, then Click Compact Repair Button
  • Setup a Windows Task to Launch the Compact/Repair

Example

  • MSACCESS.EXE is located in C:\Program Files\Microsoft Office\Office14
  • I have a Database Called C:\LWDBA\RolandosDatabase.accdb
  • Create a DOS Batch File called C:\CompressMyDB.bat with the following lines

BATCH FILE

@echo off
"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" /compact C:\LWDBA\RolandosDatabase.accdb

Then just have a Windows Task kick off this batch file at the interval of your choosing

RolandoMySQLDBA
  • 184.4k
  • 33
  • 323
  • 531