如果我寻找最佳速度,可以打开数据库文件



我有一个数据库文件,只有一个用户将其仅读取。

我搜索最佳性能。

以独家读取模式打开它是好的吗?

如果不涉及网络(muti-user(,那么您在性能上没有什么区别。

但是,在网络上?那么独家会产生很大的不同。

实际上,这就是为什么我们看到了18年以上的原因,经常重复的性能提示 保持持续连接从前端应用程序始终打开到后端文件共享。

上面的原因是,当访问前端尝试打开表(不打开后端文件(时,访问将尝试获得后端文件的独家使用。这样做,因为在多用户模式下,几个用户可以进行待处理的更新,因此缓冲区等需要额外的管理,并且在后端发生" OP锁"。操作锁是Windows文件系统的一部分,该系统允许多个用户同时打开并在文件上工作。虽然此设置允许多个用户同时在文件上工作,但由于每个工作站都可能具有必须写入后端的活动数据缓冲区,因此会有很大的放缓,更重要的是确保两个用户不会同时更新相同的记录。因此,这种翻转到多用户模式可能需要大量时间,并且每次访问都试图获取数据,它将尝试从多用户模式中翻转以确保非常出色的性能。

但是,这种尝试从多用户模式更改为单用户模式可能需要大量时间。因此,通过使用持续的连接(强迫保持打开(向后,然后不会发生这个较长的延迟时间。除了病毒扫描软件外,文件的打开可能需要大量时间。

上面的问题仅真正适用于多用户环境中共享的后端。当然,在这种情况下,打开数据库,因为独家将消除上述问题。

因此,访问实际上确实在单用户模式和多用户模式之间进行翻转。Windows文件锁定系统的这种使用肯定会肯定会减慢访问在多用户模式时(而且更糟糕的是,正如指出的来回翻转的尝试实际上会使事情降低的速度比您获得的性能增长要大得多。一个用户打开文件(。同样,对于一个用户,您不会注意到任何差异,但是如果有2个或更多用户打开后端文件,那么您将看到2个或更多用户的重大延迟。(但是持续的连接通常会删除延迟(。

那么,对于单个计算机上的单用户模式?

正常打开或独家打开可能不会更改任何内容,您可能不会注意到任何性能差异。(即使仅阅读而不是阅读/写入/写入也不会注意到。

但是,您介绍网络的瞬间,以及从网络文件夹中打开该文件共享的多个用户,则可以通过使用独家模式获得并可以看到很大的优势。如前所述,独家模式有助于防止网络上的单个用户模式之间的切换(以提高性能(,并切换到mutli-user模式(带有列出待处理数据的客户端工作站缓冲区(。因此,请记住,访问将尝试以单用户模式打开后端(这不是独家模式,而是单个用户模式,以更好地通过网络进行性能(。

但是,总的来说,在两种模式之间切换的成本往往是更大的放缓,然后在网络上使用文件共享时的速度优势。

因此,当涉及网络时,独家模式通常会导致大幅提高性能。

在没有网络的本地计算机上?因为一个处理能力太多,然后以完整的读/写入或读取通常不会导致任何明显的性能提高。

因此,仅当您通过网络工作访问文件时,此处的答案才真正适用。对于单个工作站上的本地UNSTPLIT数据库,无论您打开数据库哪种模式,或者实际上,您都不会获得任何通知写入结果。

最新更新