I've done alot of research and I'm not coming up with very much. I have upsized a Access 2000 database to SQL Server, so I can use the Access application as a front end.
I notice some serious performance degrade. I have a rather lengthy query (I've attached below one of the slower ones - it is the SQL View of the Query if interested) that I have on a ACCESS 2000 Front end going against SQL server backend table. I know that through the MS Jet engine, by default it would run locally as I understand it.
Does anyone know the best way to force the query to run on the server? I understood through research that some expressions (such as Where, Having, etc. are not supported to run on the server side?) I'm just noticing that before upsizing the the database queries ran about 20 seconds faster. I'm having trouble now convincing the client this was a good move. I have searched the site and done most recommendations so I'm not too sure what to do. Any suggestions would be appreciated!
-----------------------------------------------------
SELECT [Insertion Orders].[Publication Name],
[Insertion Orders -- Line Items].[Invoice#], Publications.District,
Sum([Insertion Orders -- Line Items].[Ad Rate]) AS [SumOfAd Rate],
[Media Plans].[Cost Center],
[Media Plans].[MITS Code],
[Insertion Orders].[LOB Code],
[Publications -- Types].[Subclass Code],
[Insertion Orders].[Bill To:], [Insertion Orders].[Media Code]
FROM ([Publications -- Types]
RIGHT JOIN Publications
ON [Publications -- Types].[Newspaper Type] = Publications.[Publication Type])
INNER JOIN ([Media Plans]
INNER JOIN ([Insertion Orders]
INNER JOIN [Insertion Orders -- Line Items]
ON [Insertion Orders].[Order#] = [Insertion Orders -- Line Items].[Order#])
ON [Media Plans].[Media Code] = [Insertion Orders].[Media Code])
ON Publications.[Publication Name] = [Insertion Orders].[Publication Name]
GROUP BY [Insertion Orders].[Publication Name],
[Insertion Orders -- Line Items].[Invoice#], Publications.District,
[Media Plans].[Cost Center],
[Media Plans].[MITS Code],
[Insertion Orders].[LOB Code],
[Publications -- Types].[Subclass Code],
[Insertion Orders].[Bill To:], [Insertion Orders].[Media Code]
HAVING
((([Insertion Orders -- Line Items].[Invoice#]) Is Not Null) AND ((Mid([Insertion Orders].[Media Code],4,1))=Mid([FORMS]![begin].[InsertionYear],4,1)));
I notice some serious performance degrade. I have a rather lengthy query (I've attached below one of the slower ones - it is the SQL View of the Query if interested) that I have on a ACCESS 2000 Front end going against SQL server backend table. I know that through the MS Jet engine, by default it would run locally as I understand it.
Does anyone know the best way to force the query to run on the server? I understood through research that some expressions (such as Where, Having, etc. are not supported to run on the server side?) I'm just noticing that before upsizing the the database queries ran about 20 seconds faster. I'm having trouble now convincing the client this was a good move. I have searched the site and done most recommendations so I'm not too sure what to do. Any suggestions would be appreciated!
-----------------------------------------------------
SELECT [Insertion Orders].[Publication Name],
[Insertion Orders -- Line Items].[Invoice#], Publications.District,
Sum([Insertion Orders -- Line Items].[Ad Rate]) AS [SumOfAd Rate],
[Media Plans].[Cost Center],
[Media Plans].[MITS Code],
[Insertion Orders].[LOB Code],
[Publications -- Types].[Subclass Code],
[Insertion Orders].[Bill To:], [Insertion Orders].[Media Code]
FROM ([Publications -- Types]
RIGHT JOIN Publications
ON [Publications -- Types].[Newspaper Type] = Publications.[Publication Type])
INNER JOIN ([Media Plans]
INNER JOIN ([Insertion Orders]
INNER JOIN [Insertion Orders -- Line Items]
ON [Insertion Orders].[Order#] = [Insertion Orders -- Line Items].[Order#])
ON [Media Plans].[Media Code] = [Insertion Orders].[Media Code])
ON Publications.[Publication Name] = [Insertion Orders].[Publication Name]
GROUP BY [Insertion Orders].[Publication Name],
[Insertion Orders -- Line Items].[Invoice#], Publications.District,
[Media Plans].[Cost Center],
[Media Plans].[MITS Code],
[Insertion Orders].[LOB Code],
[Publications -- Types].[Subclass Code],
[Insertion Orders].[Bill To:], [Insertion Orders].[Media Code]
HAVING
((([Insertion Orders -- Line Items].[Invoice#]) Is Not Null) AND ((Mid([Insertion Orders].[Media Code],4,1))=Mid([FORMS]![begin].[InsertionYear],4,1)));