【发布时间】:2010-10-07 10:07:19
【问题描述】:
我想执行以下操作:
1) 打开一个数据集(使用 TMSQuery、SDAC DevArt 组件)
2) 将内容缓存到磁盘(想象一个切割者列表)
3) 下次我需要打开数据集时,我将首先使用缓存数据填充它,然后我将通过调用 TMSQuery.RefreshQuick 方法对其进行刷新。
我计划通过这种方式大幅提高速度,因为我不需要检索在之前的应用程序运行中已经检索到的记录。
我怎样才能获得这种缓存?我有许多带有 TMSQuery 的数据模块,所以不知何故,我希望有一个全局例程来检查每次我尝试打开 TMSQuery 时,如果该查询以某种方式被标记,我将尝试从缓存中恢复,调用 RefreshQuick,以防万一失败我将调用 Open。
你能推荐一下吗?
(我使用 Delphi 2009 和 SDAC 4.80)
【问题讨论】:
-
刷新数据的时候,需要和数据库中的值进行比较,所以还是要查询所有的数据。这如何提高速度?你有一个 DateModified 字段或什么?
-
我打算使用 TMSQuery.RegreshQuick 方法。