加速 MSAccess 2003 和 MSSQL
Posted
技术标签:
【中文标题】加速 MSAccess 2003 和 MSSQL【英文标题】:Speed up MSAccess 2003 and MSSQL 【发布时间】:2013-02-20 17:24:46 【问题描述】:我想将我当前的数据库从 MDB 移动到 MSSQL 服务器。当我通过 ODBC 完成此操作时,查询变得特别慢。 我有红色,它引起了ODBC,不支持group by和JOIN,join,所以它必须在当前机器上做多个查询和处理数据。
我怎样才能更快地切换到某些东西(对于 MSAccess 2003)?
【问题讨论】:
在 MS Access 中运行时查询是否缓慢?在您采取这一大而可能昂贵的步骤之前,您确定 Access 是问题所在吗?例如,您的数据库有多大? 【参考方案1】:实际上,在大多数情况下,Access 都做得不错。如果您的查询有一些连接,但特别是有一些聚合分组依据,那么只需创建一个视图,然后链接到该视图。它的运行速度可能与传递查询一样快,但在 Access 端没有麻烦和努力。
所以在大多数情况下,使用 Access 作为 SQL Server 的前端应该能够获得出色的性能。
所以,对于调用存储过程,或者对于一些报表,可以考虑使用直通查询。
但是,为了节省您的时间和精力,对于具有联接的查询,尤其是具有分组依据或计数等聚合的查询,然后只需创建一个视图服务器端,然后链接到该端即可。
当你这样做时,你会发现性能第一。
【讨论】:
MS Access 在用作 SQL Server 的前端时会导致可怕的性能问题而臭名昭著。有一些变通方法,例如传递查询,但大多数 Access 用户不够成熟,无法使用它们。【参考方案2】:只是一个基本而愚蠢的问题:您是否在 SQL 数据库中定义了所有需要的索引?
【讨论】:
【参考方案3】:您是否尝试过这种方法:http://www.packtpub.com/article/transferring-data-ms-access-2003-to-sql-server-2008?
要让它重演,在最后一步,勾选“保存 SSIS 包”并适当地安排它。
这是 Microsoft for Microsoft 的方法,因此除非存在已知问题,否则我会将其用作最佳方法。
【讨论】:
【参考方案4】:在使用 MS Access 时,您可以使用 Access 数据项目。这为您提供了一个带有 SQL Server 后端的 MS Access 前端。 Access 数据项目的主要好处是 (a) 您可以获得真实 SQL 数据库的稳定性、可扩展性和安全性,同时 (b) 仍然使用著名的 MS Access 前端和编程。
请参阅此 *** 问题以进行深入讨论:Pros and Cons of Access Data Project (MS Access front end with SQL Server Backend)
【讨论】:
最新版本的 SQL Server 并不真正支持 Adps。 Microsoft 正在推荐链接表。 ADP 可用于 SQL Server 2008 及更早版本。如果您需要使用更高版本的 SQL Server,那么您仍然可以使用 ADP,但在这种情况下,设计服务器对象(表、视图、存储过程、函数和关系)是使用 SQL Server Management Studio 完成的。 最新版本的 Access 甚至不支持 ADP。 SQL Server 已宣布 ADO 和 ADP Access 项目所需的 oleDB 生命周期结束。因此,使用 ADP Access 项目,实际上选择 ADO 是一个非常糟糕的选择。您最好使用链接表并坚持使用 Open Database 连接选项。 问题是关于 MS Access 2003。对于那些比 SQL Server 更熟悉 Access 的人来说,ADP 是一个不错的选择。以上是关于加速 MSAccess 2003 和 MSSQL的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 2003 可以连接到的最新 SQL Server 后端是啥?