gpt4 book ai didi

ms-access - 当多个用户连接到数据库时,VB6 数据库操作变慢

转载 作者:行者123 更新时间:2023-12-01 04:01:27 26 4
gpt4 key购买 nike

我目前正在使用 VB6 连接到使用 DAO 的 MS Access 数据库,当第二个用户连接到数据库时,我遇到了非常明显的速度下降。

以下是重现的步骤:

  • 通过登录软件从计算机 A 打开数据库
  • 通过软件向数据库添加记录(大约需要 0.4 秒)
  • 第二个用户登录软件(计算机 B),即:这会打开数据库,显示今天的交易,但用户什么都不做
  • 在A电脑上,重复添加记录的操作,现在操作大约需要6秒

  • 更多信息…
  • 即使在计算机 B 注销软件后,操作仍持续大约 6 秒
  • 如果您从计算机 A 关闭并重新打开应用程序,操作将返回到仅执行 0.4 秒!

  • 任何帮助将不胜感激!

    谢谢!

    最佳答案

    这就是 MS Access 的工作方式。虽然它支持多个用户,并且支持将 DB 放在文件共享上以便多台 PC 可以 Access 它,但它都做得很好。如果您同时进行(多用户和通过网络进行文件共享),那么我会为您感到痛苦。

    答案是运行升级向导并将其转换为 MS SQL Server 实例。 MS SQL Server Express 版是替代 Acess 的不错选择。请注意,您仍然可以在 Access 中保留所有代码和报告等,只需要移动数据。

    为了清楚区别,在 MS Access 中,当您从数据库读取数据时,执行查询所需的所有数据都是由您的程序从文件中读取的,不进行服务器端处理。如果该数据驻留在网络上,则您正在通过网络提取该数据。如果有多个用户,则会产生额外的锁定开销。每个用户程序/进程通过文件 I/O(将锁定信息写入网络文件或文件)与其他用户的程序/进程有效对话。如果网络 I/O 超时或有其他问题,那么这些文件可能会损坏。

    在 SQL Server 中,是 SQL Server 引擎管理数据请求并且只返回所需的数据。它还管理锁,并可以检测客户端何时断开连接或超时清理,从而减少由网络上的多个用户引起的问题。

    关于ms-access - 当多个用户连接到数据库时,VB6 数据库操作变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243898/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com