Solved

ms access and sql server

Posted on 2016-07-15
5
45 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 58
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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

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

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Recently we ran in to an issue while running some SQL jobs where we were trying to process the cubes.  We got an error saying failure stating 'NT SERVICE\SQLSERVERAGENT does not have access to Analysis Services. So this is a way to automate that wit…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

724 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