当 MS Access db 的前端通过网络查询另一台机器上的 MS Access 后端时,它是否会提取整个表/数据库/文件,或者是否有某种方式从后端提取所需的内容,从而减轻网络负载。
答案1
Access 数据库引擎只会读取它需要的内容。然而,这可能意味着通过网络传输的数据比你想象的要多。
例如,如果表已编入索引,则无需进行完整数据扫描即可找到记录,然后它会先读取索引,然后只读取那些满足查询结果的记录。最少的数据在网络上移动。
但是,如果您只从没有索引的大表中返回一行,则整个表将通过网络传输。这是因为查询过程在客户端计算机上运行,并且它需要读取所有数据才能进行表扫描。
因此,如果您使用此方法创建访问应用程序,请确保您的表已被适当索引。
答案2
很难准确回答。你的意思是通过网络打开数据库吗?
我假设你的意思是前端和后端位于一个 MDB 文件中。
当执行查询时(取决于查询),它只会抓取所需的数据。对于大多数数据库来说都是如此。但是,当打开文件时,会检查数据库的完整性。
有关 JET 数据库后端的更多信息,请访问: http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine