2017-05-10 15 views
1

私の会社は、クラウドベースのAPIとデータを同期させる必要があるiOS受注アプリケーションを開発中です。データはリレーショナルであり、迅速に同期できるORMを使用するソリューションを見つけるのに苦労しています。ダウンロードデータをループしたり、モデルを作成/フェッチしたり、関係を構築したりするには時間がかかりすぎています。単一の注文記録は、注文ライン、顧客、出荷、製品、および他のエンティティとの関係を有してもよく、同期プロセスは新しい/更新されたレコードごとにこれらの関連エンティティのすべてをフェッチ/作成しなければならず、SharkORM大規模データ同期プロセス

すでにActiveJDBCをORMとして使用するアプリケーションのJavaバージョンがあります。私たちは基礎となるSQLiteデータベースに直接データを挿入することができ、ActiveJDBCはAPIデータベースに既に存在するIDと外部キーを使用することができます。これにより、モデルオブジェクトを構築するよりもずっと速くダウンロードしたデータを挿入することができます。

私が知る限り、SharkORMではIDと外部キーの代替データベース列を使用することはできません。 SharkORM(または別のiOS ORM)を使って同様のことをする方法はありますか?

ありがとうございます。

答えて

1

残念ながら、Id列は現在固定されており、変更することはできません。

raw実行関数を使用してSQLのブロックを供給できますが、これを達成するにはかなりの労力がかかります。

物事が速く行くようにするには、あなたがこれらの試みることができる:イベントモデルを無効に取引

    1. バッチは
    2. 一時的
    3. をインデックスを削除します(多くの物事....はるかに高速になります)
    4. 、また

    (非常に高速だが、潜在的に危険な)の同期機能をオフにし、あなたのプラグマを実行しますId列を無視して独自のインデックスを作成するだけで、それがうまくいく根底にある方法にはほとんど違いがありません。

  • +0

    SharkORMには生の実行機能が組み込まれていますか?それをどうやって使うのですか?私はそれがドキュメントに記載されて表示されませんが、おそらく私はそれを見落としている。ありがとう。 –

    関連する問題