sql - ADO 查询 MS Access 数据库,性能提高?

标签 sql ms-access ado

我会尽量保持简单,我过去曾参与过一些项目,我们使用 Oracle 或 MS SQL Server 作为数据存储,并使用 Access 作为前端,而不是链接到我倾向于使用的表中使用与相应数据库的 ADO 连接来打开我的记录集,因为在大多数情况下,这会更快,因为查询是针对服务器执行的,然后返回结果,而不是在本地 PC 上进行工作。

我现在终于想到的问题是,如果我将一个 Access .mdb 文件放置在比我的本地 PC 具有更多处理能力的服务器计算机上,然后使用 ADO 连接(例如 Oracle/MS SQL)从中运行查询),由于 .mdb 已在服务器上,它会提供更好的性能吗?或者,由于 Access 是文件类型数据库而不是数据库服务器,因此工作仍将由本地 PC 自动完成吗?

最佳答案

不,它会变慢 - 查询仍将在客户端运行,并且您将在顶部进行网络事件。

Access 应用程序始终在客户端运行。通过在 LDB 文件上使用 Windows 文件系统字节范围锁来进行锁定,以允许 Access 的多个实例修改同一 MDB 文件。

所有代码都在客户端上运行,您必须通过网络发送数据。服务器对 MDB 文件所做的唯一工作就是充当文件服务器。

如果 Access 不够快,只需使用 SQL Server Express。由于 SQL Server 是一个客户端-服务器系统,因此将其放在快速服务器上会有所帮助。

关于sql - ADO 查询 MS Access 数据库,性能提高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9021467/

相关文章:

mysql - 通过关联使用named_scope

c# - 如何删除 Access 中的表(如果存在)

performance - 德尔福中的 BDE 与 ADO

sql-server - ADO Connection.ConnectionString 不再返回凭据

python - 为什么我无法在Python中获取sql语句?

sql - 插入语句试图包含重复键

sql - 试图在 VBA 中解决 Object required 错误

使用域聚合函数 (DMin) 的 C# 参数化查询

sql - 在 MS-Access 中比较日期时数据类型不匹配

MySQL TAdoConnnection 连接 "connected"属性错误设置为 True