2010-10-07 68 views
0

我想执行以下操作:建议用于高速缓存数据集

1)打开一个数据集(使用TMSQuery缓存内容到磁盘,SDAC DevArt成分)

2)(想像的列表)3)下一次我需要打开数据集,我将首先使用缓存数据填充数据集,然后通过调用TMSQuery.RefreshQuick方法来刷新它。

通过这种方式,我计划获得速度的实质性改进,因为我不需要检索在以前的应用程序运行中已经检索到的记录。

如何获得此缓存?我有许多与TMSQuery datamodules,所以不知何故,我想有一个全局例程,检查每次我尝试打开一个TMSQuery,如果该查询以某种方式标记,我会尝试从缓存中恢复,调用RefreshQuick,万一这种情况失败我将会打开。

你可以请建议吗?

(我使用德尔福2009年和SDAC 4.80)

+1

当刷新数据,您必须在数据库中比较值,所以你仍然需要查询所有的数据。这是如何提高速度的?你有一个DateModified字段或什么的? – 2010-10-07 10:18:10

+0

我打算使用TMSQuery.RegreshQuick方法。 – LaBracca 2010-10-07 11:43:31

回答

1

你可以做2件事情:TMSQuery组件的

  1. 制作后裔和重写打开功能 (你搜索你数据模块.DFM和.PAS文件与TMSQuery与TCachedTMSQuery替换)
  2. 迂回/勾TMSQuery.Open(运行时补丁)