我有一个带数据库的远程Firebird 3.0服务器 . 在这个数据库中,有一个大表 . 客户经常在工作期间查询此表 . 有太多的客户端和糟糕的互联网连接,所以这个表的工作是可怕的 . 我通过IBExpert将此表的本地副本放入临时数据库,该数据库随客户端应用程序一起分发 .
但现在需要更改此表中的某些值(添加新值并编辑一些旧值) . 所以我需要某种同步 - 将远程修改表复制到客户端的本地数据库 .
客户端应用程序是使用Delphi Berlin 10.1制作的 . 所以同步应该由Delphi代码完成 .
你能给我一个想法吗,请问如何正确地同步这么大的 table 呢?
1 回答
您可以在master数据库上触发POST_EVENT(用于插入,更新,删除(触发器))以通知客户端应用程序有更改 .
然后您的客户端需要触发程序(在本地数据库上)进行同步 . 这可以通过EXECUTE STATEMENT ON EXTERNAL来完成
您应该在主DB中包含插入/修改/删除的日期 .