访问.MDB文件是否有大小上限?例如,连接到超过1GB的.MDB文件的应用程序会出现问题吗?
MDB文件超过1GB会有什么问题/风险?可以做些什么?
答案 0 :(得分:9)
是。 MDB文件的最大大小为2 GB,是的,任何超过1 GB的文件实际上都在推送Access。
原始(现已破损)链接Access Database Specifications
有关详情,请参阅Access Database Specifications。 (Wayback机器)
答案 1 :(得分:4)
使用大型Access数据库可能会发现数据检索速度很慢。索引可以显着减轻疼痛。例如,如果您的查询包含“WHERE somefield = 27”,那么如果在某个字段上创建索引,则数据检索会快得多。如果您对索引编制经验不足,请尝试使用性能分析器工具来帮助您入门。在Access 2003中,性能分析器可从工具中获得 - >分析 - >性能。我不确定其他Access版本。
关于索引的一个警告是它们增加了Insert,Update和Delete操作的开销,因为除了发生更改的表之外,数据库引擎还必须修改索引。因此,如果您要将所有内容编入索引,则可能会使性能变差。
尝试限制客户端应用程序从大数据库中检索的数据量。例如,对于表单,请不要使用表格作为表单的数据源。而是创建一个只返回一行或几行的查询,并将查询用作表单的数据源。为用户提供一种方法来选择她想要处理的记录并仅检索该记录。
你没有提到你是否进行过Compact和Repair。如果没有,试试吧;它可以大大缩小数据库的大小。除了回收未使用的空间之外,compact还会更新索引统计信息,这有助于数据库引擎确定如何更有效地访问数据。
Tony Toews提供了有关您可能会发现有用的Access性能的更多信息,尽管它不是特定于大型数据库的。见Microsoft Access Performance FAQ
如果您预计会遇到MDB文件的2 GB限制,请考虑将数据移动到SQL Server中。免费的Express版本也限制了您可以存储的数据量,但比Access更慷慨。 SQL Server Express R2允许您存储10 GB。实际上我可能会在访问'2 GB限制之前移动到SQL Server。
答案 2 :(得分:0)
数据库中所有对象的总计2 GB
数据库中的对象总数32,768