[AccessD] Query tuning in Access?

Charlotte Foust cfoust at infostatsystems.com
Thu Feb 24 10:18:28 CST 2005


Choose() and Switch() are both faster than Iif.

Charlotte Foust


-----Original Message-----
From: Sad Der [mailto:accessd666 at yahoo.com] 
Sent: Thursday, February 24, 2005 1:07 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] Query tuning in Access?


Erwin,

thnx for you're response. it is a very detailled list!
One question:
I know IFF() is very slow. But what can I do to
replace them?

Thnx.

Sander
--- Erwin Craps - IT Helps <Erwin.Craps at ithelps.be>
wrote:

> 
> Simple question, hard to answer.
> A few things I learned the hardway when having lots
> of records (I'm in
> one table at +/-1.400.000 records)
> 
> 1) When having cascading queries (a query based on a
> query) only sort or
> group in the last query (when posible).
> 2) When having cascading queries (a query based on a
> query) try to
> filter (by using parameters to be able to stil use
> VBA) in the first
> one.
> 3) In a report, if SQL string based on saved querie,
> do not sort in
> saved querie but only in SQL string of report.
> Infact avoid reports based on saved queries, if you
> can.
> 4) When grouping or filtering in cascaded queries,
> try to add
> non-filter/group essential data in the last querie.
> 5) Try to join only on numerical ID's
> 6) Try to avoid code in queries (like IIF or a VBA
> function), and if you
> must work in a cascaded query. Use query one to
> filter the result, use
> query 2 to add the code (ex. IIF, lcase or VBA
> functions).
> Using VBA functions slows down queries enormously.
> IFF is realy slow...
> 
> 7) Put indexes on al fields you group, filter or
> join on (if used often
> enough)
> 8) In update queries, don't do all records, put a
> filter on it.
> For example if you have a boolean field "Archived"
> and you want to set
> all records to "True" add where clause
> "Archived=False" in the query.
> This is posibly much faster (if already true records
> exist) because
> updating is slower than filtering....
> 
> 8) Queries need to be compiled to. They are
> automaticaly compiled the
> first time they run after a edit or compact.
> So after a edit or compact the first time query run
> is always slower
> then the second time.
> You can compile all non-parameter queries at
> forhand, I have a function
> for that.
> I dont know if this is important and if it makes
> that much difference.
> But if you are timing your queries you must be aware
> of it. Each time
> you change your query it needs compiling again. So
> before actualy timing
> your query, I would first run the querie a couple of
> times.
> 
> 
> Erwin
> 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On
> Behalf Of Sad Der
> Sent: Thursday, February 24, 2005 8:12 AM
> To: Acces User Group
> Subject: [AccessD] Query tuning in Access?
> 
> Hi group,
> 
> I've got a large number of queries that I need to
> tune.
> 
> Does anybody have any tips on tuning in Access?
> 
> Thnx
> 
> Sander
> 
> 
> 	
> 		
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - You care about security. So do we. 
> http://promotions.yahoo.com/new_mail
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 



		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Helps protect you from nasty viruses. 
http://promotions.yahoo.com/new_mail
-- 
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