何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?

Posted

技术标签:

【中文标题】何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?【英文标题】:When is the appropriate time to call DBEngine.Idle dbRefreshCache? 【发布时间】:2012-02-17 11:45:51 【问题描述】:

在VB6中使用DAO,这两个例子中哪个是DBEngine.Idle dbRefreshCache的最明智的使用?

示例 1:

customers.Index = "primarykey"
customers.Seek "=", this_date, supplier
DBEngine.Idle dbRefreshCache

示例 2:

DBEngine.Idle dbRefreshCache
customers.Index = "primarykey"
customers.Seek "=", this_date, supplier

【问题讨论】:

取决于您何时刷新缓存 :) 说真的,我们还能给出什么其他答案? .Seek 通话之前还是之后?我之前会考虑过,但我正在查看之后的遗留代码,所以我只是想检查一下。 【参考方案1】:

看起来 customers 是一个 ADO recordset?所以示例 2(首先刷新缓存)会更有意义。

DBEngine.Idle dbRefreshCacheis used to同步两个进程之间的读写。如果您在Seek 之前发出DBEngine.Idle dbRefreshCache,ADO 记录集Seek 操作搜索更有可能显示另一个进程所做的更改。

我想一个问题是是否真的有另一个过程在改变数据?或者(可能)来自同一个程序的另一个数据库连接?如果没有,则根本不需要刷新缓存。

【讨论】:

它是一个多工作站系统,所以会有其他进程访问数据库。

以上是关于何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?的主要内容,如果未能解决你的问题,请参考以下文章

何时使用嵌套数组与使用单独的集合

为啥 MongoDB 文档建议不要使用 DBREF?

MongoDB 学习笔记之 DBRef

完成处理程序没有被调用为假定的 Swift

使用 Mongoose / mongoose-dbref 使用和填充(真实的)DBRef 数组

Mongo 如何使用 DBRef 进行 $lookup