我在多个表上有触发器来捕获表的更新(Capture Table)。完成插入后,触发器完成,控制权返回到调用应用程序。预计此捕获表每天将接收约175万条记录。
然后我有一个Windows服务运行并从Capture Table获取数据,通过引用数据库中的其他表添加一些上下文,然后将记录插入另一个进程使用的通知表中。
我们的捕获表有一个var selectInteraction = new ol.interaction.Select({
layers: [vectorLayer1]
});
var selectInteraction2 = new ol.interaction.Select({
layers: [vectorLayer2]
});
map.addInteraction(selectInteraction);
map.addInteraction(selectInteraction2);
// do the same with other interaction
selectInteraction.on('select', function(evt) {
if(evt.selected.length > 0){
// do something
}
});
列和一个IDENTITY
来帮助测序。对于DATETIME
,我们将变量设置为DATETIME
并使用该变量,以便同一事务中的所有记录都具有完全相同的GETDATE()
。
我正在考虑让这个过程更加健壮。此时,Windows服务调用存储过程并按顺序一次处理一个事务。这可能成为瓶颈。我们可能需要同时处理多个交易。
如何保证Capture Table和通知表之间的顺序相同?记录保持相同的顺序至关重要。感谢您的投入!