.mdb 上的数据库连接随着时间的推移而变慢

Database connection on .mdb slows down over time

我们的应用程序连接到网络上的 .mdb 文件。一切都很好,直到我们将计算机从 32 位 Windows 7 换成 64 位 Windows 10。自此操作以来,随着时间的推移,通过我们的 C# 代码连接到数据库变得越来越慢。它在启动应用程序后不到 1 秒的时间内开始。在 运行 应用程序之后。 8小时,打开数据库文件需要10多秒,而且还在上升。钙。访问数据库每 5 秒连接一次。

重新启动应用程序后一切正常。对于我们的客户来说,频繁重启不是一个长期的选择。查询本身在几毫秒内完成,关闭也可以。 我看到处理器使用率只有 10% 左右。我暂时不知道的内存。

有没有人知道为什么连接到数据库会随着时间的推移变慢?

public void OpenDb ( string _sOpenString )
{
    this.sFilePathToAccessDb = _sOpenString;
    this.sConnectionString =
        @"Provider=Microsoft.ACE.OLEDB.12.0;DataSource=" + this.sFilePathToAccessDb;
    this.oOleDbConnection = 
        new System.Data.OleDb.OleDbConnection( this.sConnectionString);
    this.oOleDbConnection.Open();
}

public void CloseDb()
{
    if (this.oOleDbConnection != null)
    {
        this.oOleDbConnection.Close();
        this.oOleDbConnection.Dispose();
    }
    this.oOleDbConnection = null;
}

public void foo()
{
    OpenDb(@"\fooserver\databases\bar.mdb");
    //do some stuff
    CloseDb();
}

因此,经过多次测试后,我们已经在机器上安装了 Microsoft Access Database Engine 2010 版本 14。卸载此版本并安装 12.0 版后一切正常。在网络驱动器上打开数据库稳定需要 30 毫秒。