私は次のような非常に単純な小さなスキーマを持っています:
トレイル->セグメント->座標
この作業を行うための適切な関係はすべて整っており、それらは確かに私に次のようなことをさせてくれます。
NSArray *trails = <query all trails>
for (Trail *trail in trails) {
for (Segment *segment in trail.segments) {
for (Coordinate *coordinate in segment.coordinates) {
//do something with coords
}
}
}
Djangoのバックグラウンドから来て、私はこれに満足し、sqlite3に対して実行される可能性のあるクエリが最も少ないと想定しました。間違い!これらのループ内のすべてのオブジェクトに対して行われるクエリがあります。
障害に関するコアデータのドキュメントを読みました。何が起こっているのかを理解していますが、このような状況に対処するためのベストプラクティスを知りたいと思います。マップ上に軌跡をプロットするためにすべてのオブジェクトが一度に使用されるため、メモリ内のすべてのオブジェクトが必要です(coordsモデルには最大100,000個のオブジェクトがあります)。
この超遅延読み込みにどのように対処する必要がありますか?