软件简介 典型应用 下载试用 购买指南 服务与支持 其他产品
大数据量?性能优化
      
问题的提出
上面的例子在库表中有大量数据的情况下,效率很低:因为针对每一条源记录,均需要根据索引列对目标表进行检索,看是否存在相同的记录;无论是否相同都存在数据操作:修改或插入。因此,某些情况下需要改进。
      
解决方案
对源表添加一个字段 iTransFlag,int 类型,缺省为 1;
当修改时,采用触发器将其值修改成1;
建立一个视图(条件是:iTransFlag=1, 包含所有字段),仅包含所有需要同步的数据;
这样,就可以采用视图作为同步源表,就可以节省大量的计算量了;
记录同步后,将其标志字段修改为 0,也就是不用再同步了,除非是又发生了变化。
      
要点
请利用《同步配置加速器》提供的以下功能:
协助为表添加字段;
协助为表创建视图;
协助为表创建触发器;

同时,注意:某条记录同步完成后,可以对源记录进行简单的操作。

      
操作步骤
在《同步配置加速器》中:
给 Orders 表添加一个字段: iTransFlag,int 类型,缺省为 1;
为 Orders 表中 iTransFlag=1 的记录创建一个视图,包含所有字段;
创建一个触发器,当 iTransFlag 以外的字段的值发生变化的时候,修改 iTransFlag=1;
修改原有的任务,改数据源为该视图;源操作:iTransFlag=0。
      
其它
当然,还有一种思路: 创建一个专用表, 利用触发器将发生变化(插入、修改操作)的记录保存下来,然后用这个表作为同步源; 记录同步完成后删除这条源记录。
但是这样有一个问题: 这个新建的表不能保存 Image 等类型的值。 正式因为如此, 我们不推荐采用。
      

Copyright(C) 2004-2006, All Rights Reserved.