访问MDB:访问MDB文件有一个大小上限?

问题描述:

访问.MDB文件是否有一个大小上限?举例来说,连接到1GB以上.MDB文件的应用程序会有问题吗?访问MDB:访问MDB文件有一个大小上限?

超过1GB的MDB文件存在哪些问题/风险?可以做些什么?

是的。一个MDB文件的最大大小是2 GB,并且是超过1 GB的任何文件实际上都在推送Access。

原件(现在断开)的链接Access Database Specifications

Access Database Specifications更多。 (Wayback机器)

+0

断开链接 – 2016-03-31 08:09:56

+0

@马丁 - 不幸的是,看来微软已经腐朽了所有链接到规范的MDB文件。网上有很多非权威的链接,但我无法从MS找到他们以前可用的文档。 – Thomas 2016-04-01 17:33:10

+0

@Martin - 增加了Wayback版本的链接。 – Thomas 2016-04-01 17:46:43

您可能会发现数据检索在使用大型Access数据库时非常缓慢。索引可以显着减轻疼痛。例如,如果您有一个包含“WHERE somefield = 27”的查询,那么如果您在某个字段上创建索引,则数据检索速度会更快。如果您几乎没有建立索引的经验,请尝试使用性能分析器工具来开始。在Access 2003中,可以从工具 - >分析 - >性能获得性能分析器。我不确定其他Access版本。

有关索引的一个警告是它们会增加Insert,Update和Delete操作的开销,因为除了发生更改的表之外,数据库引擎还必须修改索引。因此,如果您要索引所有内容,您可能会使性能变差。

尝试限制客户端应用程序从大数据库检索的数据量。例如对于窗体,不要使用表格作为窗体的数据源。而是创建一个只返回一行或几行的查询,并将查询用作表单的数据源。为用户提供一种方法来选择要处理的记录并仅检索该记录。

您没有提及您是否执行了Compact和Repair。如果没有,尝试一下;它可能会大大缩小数据库的大小。除了回收未使用的空间之外,compact还更新索引统计信息,这有助于数据库引擎确定如何更有效地访问数据。

托尼托伊斯有关于您可能会发现有用的访问性能的更多信息,虽然它不是特定于大型数据库。请参阅Microsoft Access Performance FAQ

如果您预计碰到MDB文件的2 GB限制,请考虑将您的数据移动到SQL Server中。免费的Express版本也限制了您可以存储的数据量,但比Access更慷慨。 SQL Server Express R2将允许您存储10 GB。实际上,我可能会在访问'2 GB限制之前移动到SQL Server。

2 GB的总数为数据库中的所有对象

在数据库中的对象总数32,768

这里
+0

引用这个信息来自的网站会很好。 – wonko79 2014-01-21 18:24:07