我有一个从Excel电子表格创建的Access数据库。
数据库包含一个包含58个字段的主表,另外三个包含大约10个字段的表,以及包含两个字段的最后一个表。大多数新信息都会进入主表。
经过一天的使用(两个用户),数据库从20MB爆炸到50MB。正在添加一些新记录,但不足以生成30MB。我从Excel完成导入并压缩数据库后,我的主表有4000条记录。
用户没有添加超过几十个新记录,并且数据库在压缩后会下降到大约20MB。这是2010年常见的事吗? 2000/2003年从未体验过这一点。
谢谢, Westley的
答案 0 :(得分:4)
是的,这很常见。
Access的最常见原因 数据库臃肿被过度使用了 临时表和过度使用 non-querydef SQL。每当你编码一个 查询定义之外的SQL字符串, Access必须“绑定”该语句 每次都运行。这个流程 花费少量时间和使用 大量的工作空间 直到你压缩才恢复 D b。 Querydef是它们的“绑定” 保存,当db是 压实。 Ref
大量插入/删除也会导致增长。
答案 1 :(得分:0)
报告中的图片也可能导致数据库增大
我发现访问数据库可以增加大小的另一种方法。如果您有一个报告(可能还有一个表格?),其中有从外部文件插入的图片,则“图片类型”选项之一是“共享的”。如果使用此选项,则每次使用其他图片时,Access都会存储该图片的新本地副本。我的1Mbyte Access数据库最终得到500MByte内部存储的图片。似乎没有任何刷新它们的方法,并且压缩数据库不会清除它们。
解决方案是使用“链接的”“图片类型”设置。我将数据库内容复制到一个新数据库中,并保持在1MByte。