我有一个非常简单的小架构,如下所示:
轨迹 --> 段 --> 坐标
所有适当的关系都已到位,可以完成这项工作,他们当然让我做这样的事情:
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 运行尽可能少的查询。错误的!对这些循环中的每个对象都有一个查询。
我现在已经阅读了有关故障的核心数据文档,我了解发生了什么,尽管我真的很想知道处理这种情况的最佳实践是什么。我需要内存中的每一个对象(坐标模型有大约 100,000 个对象),因为它们都同时用于在地图上绘制轨迹。
我应该如何处理这种超延迟加载?