gpt4 book ai didi

ms-access - 为什么我的 Access 2007 数据库增长如此之快?

转载 作者:行者123 更新时间:2023-12-02 23:37:18 26 4
gpt4 key购买 nike

我正在开发一个 Win32 应用程序,该应用程序出现了一个非常奇怪的问题:数据库悄悄增长,直到最终达到 2 GB 文件大小限制。我们使用 ADO 连接到 Access 2007 数据库。该应用程序多年来一直运行良好,没有观察到这样的困难。正如您可能想象的那样,当达到 2 GB 限制时,数据库就会损坏。我现在有相当多的客户数据库被发送给我们进行修复——大小都在 2GB 左右。一旦压缩,它们就会恢复到 < 10 MB。

随着时间的推移,我们看到数据库有所增长,但从未达到如此规模的增长。

我制作了一个小型数据库“检查器”,它将所有记录中所有字段的内容相加,以了解存在多少实际数据。在最近压缩的数据库上检查了这个新工具后,我认为该工具工作正常。所有臃肿的数据库每个数据都不超过10 MB。

我们不会在应用程序启动时压缩数据库。在我看来,因为我们不会删除大量数据,所以压缩数据库并不是我们“应该”需要做的事情。拥有较大数据库的客户(有一些,但使用的是早期版本)。

您能否建议我们如何将 <10 MB 的数据库增长到 2 GB?

关于我们应用程序功能的一些评论:

  • 当 ADO 没有打开数据库时,任何重组都是使用 DAO 完成的。

  • 我们确实在一些地方使用交易

  • 为了方便起见,某些记录可以方便地删除和重新创建,而不是查找/编辑/删除。通常此操作涉及 5-30 条记录,每条记录大约 8K。仅当用户按下“保存”时才会发生这种情况。

  • 还有其他记录类型,每条记录大小约为 70 KB,但我们没有对它们使用删除/重新创建。

  • 我们使用 BLOB(“OLEObject”)字段来存储二进制数据。

感谢您提供的任何见解。

最佳答案

MS Access 文件很容易膨胀。它们存储大量交易历史记录,以及在记录删除期间保留大小。当我使用 Access 数据库编写应用程序时,我将定期压缩纳入设计中,因为这是保持数据库一致的唯一方法。关闭时压缩可能会出现问题(取决于环境),例如用户强制中止压缩,因为他们希望计算机在一天结束时完成关闭。同样,打开时紧凑可能会导致令人沮丧的延迟,用户想要进入程序但无法进入。我通常会尝试将紧凑型组织作为计划任务在始终在线的 PC(例如服务器)上完成。请点击链接了解更多信息:http://support.microsoft.com/kb/158937

关于ms-access - 为什么我的 Access 2007 数据库增长如此之快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824302/

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