Android用のアプリケーションを開発していて、ORMLiteを使おうとしましたが、パフォーマンスが非常に悪いようです。他の誰かがこれを経験しましたか?
それとも私は何か間違ったことをしていますか?
編集
いいえ、結合は行っていません。すべてのクエリは、インデックス付きキーをパラメータとして使用して行われます。しかし、データセットはかなり大きく、かなり多くの比較があります。
純粋なSQLiteでやろうとしたことはありません...
最良の答えは、ORMLiteのパフォーマンスは使用方法に大きく依存するということだと思います。コードサンプルの一部とパフォーマンス数値の一部を投稿していただければ、より具体的に支援できる場合があります。
一度に多数のデータベース操作を行う場合は、このDao.callBatchTasks()
方法の使用を検討する必要があります。Android では、データベース トランザクションを開始し、渡された を呼び出し、Callable
戻った後、トランザクションをコミットします。たとえば、テーブルに多数の行を挿入する場合、これは非常に高速です。
参照: ORMLite で DAO メソッドが非常に遅いのはなぜですか?
編集
クエリに時間がかかる場合は、SQLite で時間が費やされている可能性があります。データセットの一部を減らすか、比較の数を調整して、実行速度が向上するかどうかを確認して、SQLite (およびおそらく IO のみ) が原因であることを明確に判断できます。