Performance with larger volume of recs

  • Thread starter Thread starter AccessStarters
  • Start date Start date
A

AccessStarters

a2002
Can anyone point me to any info recarding trying to get better performance
when populating large volumes of recs.
I am trying to work with 600 000 recs and do various filters on them etc.
Need to learn a few settings that I may or may not be able to tweak to help
this poor db along.

tia
Jill
 
Hi Jill

First and most obvious thing is to use a good data structure, with astute
indexing. Index the fields that are regularly used for finding or sorting
data (such as surnames). Your foreign key fields are already indexed if you
created a relationship with referential integrity.

For your forms, don't load the entire 600k records. You may be able to set
up the interface so it loads just the single record the user wants, by
setting the RecordSource property of the form. You can also use this
approach in place of filters.

When you do set criteria, let it use the indexes wherever possible.
For example, these can use an index:
Surname = "Smith"
SaleDate Between #1/1/2004# And #12/31/2004#
MyText Is Null OR MyText = ""
whereas these cannot:
Surname Like "*Smith*"
Year([SaleDate]) = 2004
Nz([MyText], "") = ""

Naturally you also want to limit the number records in any combo/listbox to
a few thousand at most. And don't load dozens of subforms that you don't
need.

For other general suggestions, see Tony Toews' article, the Performance FAQ
at:
http://www.granite.ab.ca/access/performancefaq.htm
There a many, very important suggestions in that article, including Name
AutoCorrect, Subdatasheets, etc.

Taking those approaches, you can end up with a very snappy database, where
no form takes longer than 2 seconds to load and most interface things feel
instantaneous. Naturally things like bulk updates or huge reports will take
longer.
 
Back
Top