鲨鱼ORM大数据同步过程



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

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

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

感谢您的任何帮助。

不幸的是,Id 列目前是固定的,无法更改。

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

为了让事情进展得更快,您可以尝试以下方法:

  1. 批量进入事务
  2. 禁用事件模型(使事情变得很多....快得多)
  3. 暂时删除索引
  4. 执行编译指示,关闭同步功能(非常快,但有潜在危险)

此外,您可以忽略 Id 列并创建自己的列并为其编制索引,它的基本工作方式几乎没有区别。

最新更新