场景:有一个遗留程序(不确定是什么语言),我被要求“在数据库中压缩和存档表单”。在用户打开应用程序的那一刻,加载大约 27000 条记录大约需要 2-5 分钟!!!我的理论是它在启动时加载了所有记录,但这可能不是唯一的原因。在进行了一些挖掘并找到了一个看起来正确的访问后端之后,我还在公司内 15 多个其他股票上找到了相同的访问文件。现在这个应用程序是在 1997 年左右创建的,当时我猜 Access 是常态,但他们真的会从 15 个以上的 Access 数据库中获取数据吗?加速这个程序的标准似乎是将旧记录存档在另一个访问数据库中(这就是为什么我认为它在启动时加载所有内容。
问题:我周一开会讨论这个项目,想知道是否有人可以提出一些有用的问题、理论、解决方案等。这不是我自己做不到,我只是认为另一种观点做不到伤害。另一个有趣的事实是,我可能获得也可能无法获得源代码,因为它可能是由承包商创建的,并且代码很久以前就丢失了。
旁注:是否可以访问自动存档旧记录?这意味着将它们转移到另一个名为 XXXArch 的数据库中。
提前致谢。我会尽力回答您的任何问题。
编辑:
这是有关情况的更新。
看起来它只使用一个数据库作为主数据库和一个用于存档的数据库。我仍然没有自己的用户帐户来打开应用程序,但是在查看数据库时,有一个用户表,其中包含登录 ID 和相同的密码(PASSWORD)所以我尝试以这些用户之一的身份登录并简单地选择一些数据不修改任何东西。选择时,我几乎可以立即获取数据,并且没有看到其他用户遇到的任何减速。我还没有看到源代码,但据我所知(获取 exe 并将其放入记事本),它看起来像是用 VBA 编码的,可能是使用 MS Access 创建的。此外,该应用程序似乎在数据文件夹中创建了一个 temp.mdb。目前它没有任何内容。没有桌子,什么都没有。一世' m 假设/希望这是减慢用户速度的原因,可以将其删除以提高性能。一旦我获得源代码并更好地了解是什么减慢了它,我将发布另一个更新。