0

私はデータベースとしてORMLiteとSQLiteを使用しており、Androidアプリに取り組んでいます。

1)次のようにForeign-Collectionオブジェクトで特定のオブジェクトを検索しています。

Collection<PantryCheckLine> pantryCheckLinesCollection = pantryCheck.getPantryCheckLines();
Iterator iterator = pantryCheckLinesCollection.iterator();
while (iterator.hasNext()) {
    pantryCheckLine = (PantryCheckLine) iterator.next();
    //i'm searching for a purticular object match   
}

2)または、関連するテーブルから直接クエリを実行して、アイテムを特定することもできます。

私が求めているのは、これら2つの方法のうち、どちらがはるかに高速になるかということです。

4

1 に答える 1

2

あなたの状況の詳細に少し依存します。

  • 熱心にフェッチされている場合ForeignCollection、ループはデータベース トランザクションを実行する必要がなく、小さなコレクションの場合はクエリを実行するよりもおそらく高速になります。

  • ただし、コレクションが遅延ロードされた場合、コレクションを反復するとデータベースに戻るため、正確なクエリを実行することもできます。

于 2011-11-23T13:34:25.817 に答える