如何减少访问文件不断增长的大小?
-
20-09-2019 - |
题
因此,在我的工作场所,他们有一个巨大的访问文件(与 MS Access 2003 和 2007 一起使用)。文件大小约为1.2GB,因此打开文件需要一段时间。我们无法删除任何记录,并且我们有大约 100 多个表(每个月我们都会创建 4 个以上的表,不要问!)。我该如何改进这个,即缩小文件大小?
解决方案
好..听@Larry,并牢记的是,在长期来看,你必须找到另一个数据库来保存您的数据!
但在短期内,我感到相当这个“每月4代新表”的东西干扰。每月4桌是每年50 ......那肯定听起来很奇怪的每一个“数据库管理器”在这里。所以,请告诉我们:有多少行,他们如何建立,什么是他们的,为什么你必须每个月建表
根据您与您的数据做什么,你也可以考虑一下归档一些表为XML文件(甚至XLS?)。这可能使有意义的“历史性”的数据,没有通过关系,视图访问,等等。一个很好的例子是从PABX收集的电话名单。数据可以被保存为/从XML / XLS文件加载通过ADODB记录集或TransferDatabase的方法
其他提示
你可以做两件事:
- 使用链接表
- 每隔一段时间“压缩”数据库
链接表本身不会限制数据库的总体大小,但会将其“打包”在更小、更易于管理的文件中。看看这个:
'File' menu + 'Get External data' + 'Linked tables'
链接表还具有许多优点,例如允许保留数据子集的多个版本,以及通过链接表管理器选择特定的集合。
压缩数据库可以回收由于各种 CRUD 操作(插入、删除、更新...)导致存储碎片而丢失的空间。它还重新组合表和索引,使搜索更加高效。这是用完成的
'Tools' menu + 'Database Utilities' + 'Compact and Repair Database...'
你真的推高了对MS访问那里的极限 - 你知道该文件无法种植任何容量大于2GB
?我想你已经检查了可能的空间通过额外的正常化保存数据?你可以在“存档”一些表前几个月到单独的MDB文件,然后将它们(永久或根据需要)链接到您的“当前”数据库(在这种情况下,你实际上是从什么是可能的,否则错误的决定中受益开始每月新表)。
但是,随着数据的量,也许是时候开始计划转移到一个更广阔的平台。
您真的应该考虑一下你的数据库架构。如果没有表间的任何链接,您可以尝试其中的一些移动到每年另一个数据库(一个DB :)作为一个短期的解决方案..
每月添加更多表:那已经是一个值得怀疑的态度,以及有关数据标准化看似可疑的点击。 如果你这样做,我怀疑你的数据库结构也是次优的有关字段大小,数据类型和索引。我真的会被双重检查的开始。
如果你真的有每月桌的理由(我无法想象,再次),为什么没有每月1后端?点击 你也可能对主的后端,有,比方说,3个月数据的联机,然后归档数据库,在那里你将您的较旧的记录。结果 我利用它来进行交易,具有约650.000记录的主表,并访问是非常敏感。
一个情侣“在吸管把握”想法
看数据类型的每一列,你也许可以在一定的数字存储为每个记录节省少量的字节
看指标,摆脱你不使用的人的。上大表不必要的索引可以添加大量的开销。
我会+ 2 ^ 64对数据库设计是有点奇怪,但没有一个尚未被这么说我不会劳动的建议点