我有一个MS Access数据库,我每天都会使用它并继续构建。
该数据库从创建时起已经从2500 KB增长到大约8000 KB,并且填充了表单(无查询)一些报告,以及大量用VBA,DAO和SQL编写的代码。 p>
在过去的24小时内,数据库从8000 KB增长到86000 KB。我对它进行的唯一更改是添加了两个新表(每个表大约有20列和2000行数据)并编写了一堆SQL例程(其中一个链接4个表并将记录插入到新表)。
我仍然想知道多余记忆的诞生地点。我已经多次压缩和修复了数据库而没有改变结果。 SQL查询是否可以扩大文件大小?对于如何研究这些内容,我们将非常感谢您的反馈。
答案 0 :(得分:2)
“SQL查询是否可以扩大文件大小?”
保存的查询(QueryDef
对象)包含查询的SQL语句的文本。此外,QueryDef
包含有关其他查询属性的信息。但是,保存整个信息集所需的物理存储空间相对较小。
虽然保存的查询确实消耗了一些空间,但我确定新查询不是您的db文件大小增加十倍的原因。
如果要分析文件大小贡献者,请从表开始。创建一个新数据库并从旧数据库导入所有表。确保重新创建所有索引和关系。之后紧凑。
新压缩的db文件的大小将公平地指示Access保存数据所需的最小空间。
你去哪里取决于你找到的东西。
作为一个侧面点,一旦将数据移入单独的数据库,请考虑将其保留在那里。然后,您的原始数据库可以使用指向后端db文件中的表的链接来访问数据。这种分割设计是一种广泛推荐的做法,但出于文件大小以外的原因。