SharkORM大数据同步过程

时间:2017-05-10 19:21:57

标签: ios sqlite dbaccess

我的公司正在开发一个iOS订单应用程序,需要将数据与基于云的API同步。数据是关系型的,我们正在努力寻找一种利用能够快速同步的ORM的解决方案。循环下载数据,创建/获取模型以及建立关系需要很长时间。单个订单记录可能与订单行,客户,货件,产品和其他实体有关系,同步过程需要为每个新的/更新的记录获取/创建所有这些相关的实体,而且速度非常慢。

我们已经有一个使用ActiveJDBC作为ORM的Java应用程序版本。我们能够将数据直接插入到底层SQLite数据库中,ActiveJDBC能够使用我们的API数据库中已存在的ID和外键。这使我们能够比构建模型对象更快地插入下载的数据。

据我所知,SharkORM不允许我们为ID和外键使用备用数据库列。有没有办法使用SharkORM(或使用不同的iOS ORM)做类似的事情?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

不幸的是,Id列目前已修复且无法更改。

您可以使用原始执行函数来提供SQL块,但要实现这一点需要付出相当大的努力。

为了让事情变得更快,你可以试试这些:

  1. 批量处理交易
  2. 禁用事件模型(使事情变得更快......)
  3. 暂时删除索引
  4. 执行一个编译指示,关闭同步功能(非常快但有潜在危险)
  5. 此外,您可以忽略Id列并创建自己的列并将其编入索引,它的基本工作方式差异很小。