Solved

ms access and sql server

Posted on 2016-07-15
5
39 Views
Last Modified: 2016-07-16
Hi Folks,
I just need a very brief general response to the following.
When using linked (ODBC) SQL Server tables on an Access 2010 FE:
Does running an Access query usually bring all the data to the FE and then subset?
(as opposed to a stored procedure with parameters which sub-sets records on the server?)
i.e will stored-procedures on big datasets always outperform Access queries?
and is there a way of using Access on SQL Server to get better performance without stored-procedures? (pass-through queries?)

thanks in advance
0
Comment
Question by:COACHMAN99
5 Comments
 
LVL 16

Assisted Solution

by:Brian Pringle
Brian Pringle earned 250 total points
ID: 41713229
If you want better performance in Access, I would create views on the SQL server and then query against the view instead of the tables directly.
0
 
LVL 7

Author Comment

by:COACHMAN99
ID: 41713242
Does the view work better because it subsets/joins the data prior to querying it?
i.e. would the view help if there was only one table?
and
Does running an Access query usually bring all the data to the FE and then subset?
 (as opposed to a stored procedure with parameters which sub-sets records on the server?)
thanks
0
 
LVL 26

Accepted Solution

by:
Nick67 earned 250 total points
ID: 41713264
very brief general response
How brief <grin>
Does running an Access query usually bring all the data to the FE and then subset?
Depends on what evil you have done in the query (functions, memo fields, Access specific stuff)
i.e will stored-procedures on big datasets always outperform Access queries?
A stored procedure will never perform worse than an Access query unless you build a bad stored procedure.
and is there a way of using Access on SQL Server to get better performance without stored-procedures?
All sorts of ways: Views, Indexed Views.  A stored procedure isn't the only thing SQL Server has to offer.  A query that you would normally store in Access can be done as a View in SQL Server.  If you index that View, it is persisted and can improve ALL queries involving some or all of its data for ALL clients requesting the data.  A sproc isn't the only game in town.
1
 
LVL 7

Author Closing Comment

by:COACHMAN99
ID: 41713521
Thanks guys.
0
 
LVL 57
ID: 41714541
<<Does running an Access query usually bring all the data to the FE and then subset?>>

 The answer is "it depends".   Just to add a comment or two:

1. An explicit pass-through will always run server side.

2. JET/ACE will always try to send a SQL statement to the BE RDBMS if possible.   But as Nick pointed out, doing "Access" type things, such as using VBA expressions, JET Specific SQL, or performing joins on local tables will force execution "client" side (where MSACCESS.EXE is running).

3. Even with that, JET will try and optimize as much as possible using indexes and sorts.  Working with the data is done where MSACCESS.EXE is running, but it may not pull all the data from the BE in order to get the job done.

Jim.
0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Viewers will learn how the fundamental information of how to create a table.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question