1

我试图有效地做到这一点,我想知道标准设计模式是什么,基本上将对象从 MYSQL 同步到核心数据。

我在想: 1. 将 MYSQL 中的对象作为 JSON 发送 2. 当我遍历每个 JSON 对象时,从核心数据中提取相应的对象,然后删除,然后插入具有更新属性的新对象。

我担心的是,这将需要在每个循环中访问数据库(我想放慢速度)。

所以我想我可以遍历 JSON 结果并提取我想从 CD 中提取的所有名称。然后使用该名称数组进行大量 CD 查询。然后我会删除这些,然后插入新的。但我认为大规模查询需要一段时间。

你们怎么看,最好的方法或不同的方法是什么?

谢谢

4

2 回答 2

0

例如,您可以使用第一种方法,然后每 100 条记录提交一次数据库。

于 2013-04-09T21:27:39.517 回答
0

我认为类似于 “核心数据编程指南”中有效地实现查找或创建中描述的方法应该在这里工作:

  • 按同样存储在数据库中的某个唯一 ID 对 JSON 对象进行排序(或使服务器按排序顺序返回对象)。
  • 对数据库中的所有项目执行 fetch 请求,按相同的 id 排序。也许为获取请求设置批量大小。
  • 并行遍历两个列表(JSON 对象和获取的项目)。这允许在所有条目的单个循环中检测新的、更新的和删除的对象。

如果条目的数量非常大,则可能需要在中间保存上下文,或者使用显式自动释放池来限制内存存储。

于 2013-04-09T21:52:47.723 回答