E
E Harris
Hello all query experts,
I have a ColdFusion-based website that queries scientific data in an
Access database. The amount of data has grown in the past few months,
and the queries are running more slowly. For the end-user, this means
web pages take longer to load.
Some of aspects of the queries are admittedly convoluted. There are
queries feeding into other queries, multiple table joins, etc. We
want to optimize the queries, and this obviously means being able to
tell where the bottlenecks are.
My question is, is there any way to do this in Access? For example,
in Access, if a run a query that calls two queries, and each of those
two queries calls another query.... I just wait for the datasheet view
of the query to display. I'll have the Windows Date/Time Properties
open, and just count seconds until I see the datasheet view display
behind it. Obviously, all this gives me is a net time for the whole
parent query to complete. In Access, there is any way to benchmark
the components of a string of queries like this? I know I could run
each query involved in the series of queries and time those, and
assume their cumulative time would equal the time it takes for the
parent query to complete, but that seems a bit dodgy to me. Just as
Access has tools for analyzing and making suggestions for optimizing
tables and relationships, does it have anything similar for queries?
Poking around Access 2002, it does not seem like it does. So my next
question is what do you experts recommend for doing what I want to do?
Are there any rules of thumb you can shed some light on for me? Like
maybe a parent query should call no more that X number of child
queries? When creating a query, is there some sort of algorithm I can
follow that will ensure that the query is being contructed optimally?
Or is there any kind of program I can use to benchmark my queries and
tell me where the bottleneck is?
And for those of you that are well-versed in using a server-side
scripting language like ColdFusion with an Access back-end-- is it
preferable to let Access handle all of the query duties? For example,
should I create a query in Access that is customized for a particular
ColdFusion script, returning only what I know that script needs -- or
-- create several "multi-purpose" queries in Access that various
ColdFusion scripts may call, with any one particular script containing
the SQL that customizes it for the particular need at hand? Which
approach usually is faster?
Any feedback anyone can give me on this overall process-- tweaking
queries for speed-- is greatly appreciated.
Thanks a lot.
I have a ColdFusion-based website that queries scientific data in an
Access database. The amount of data has grown in the past few months,
and the queries are running more slowly. For the end-user, this means
web pages take longer to load.
Some of aspects of the queries are admittedly convoluted. There are
queries feeding into other queries, multiple table joins, etc. We
want to optimize the queries, and this obviously means being able to
tell where the bottlenecks are.
My question is, is there any way to do this in Access? For example,
in Access, if a run a query that calls two queries, and each of those
two queries calls another query.... I just wait for the datasheet view
of the query to display. I'll have the Windows Date/Time Properties
open, and just count seconds until I see the datasheet view display
behind it. Obviously, all this gives me is a net time for the whole
parent query to complete. In Access, there is any way to benchmark
the components of a string of queries like this? I know I could run
each query involved in the series of queries and time those, and
assume their cumulative time would equal the time it takes for the
parent query to complete, but that seems a bit dodgy to me. Just as
Access has tools for analyzing and making suggestions for optimizing
tables and relationships, does it have anything similar for queries?
Poking around Access 2002, it does not seem like it does. So my next
question is what do you experts recommend for doing what I want to do?
Are there any rules of thumb you can shed some light on for me? Like
maybe a parent query should call no more that X number of child
queries? When creating a query, is there some sort of algorithm I can
follow that will ensure that the query is being contructed optimally?
Or is there any kind of program I can use to benchmark my queries and
tell me where the bottleneck is?
And for those of you that are well-versed in using a server-side
scripting language like ColdFusion with an Access back-end-- is it
preferable to let Access handle all of the query duties? For example,
should I create a query in Access that is customized for a particular
ColdFusion script, returning only what I know that script needs -- or
-- create several "multi-purpose" queries in Access that various
ColdFusion scripts may call, with any one particular script containing
the SQL that customizes it for the particular need at hand? Which
approach usually is faster?
Any feedback anyone can give me on this overall process-- tweaking
queries for speed-- is greatly appreciated.
Thanks a lot.