結果が数千件しかない場合、Ormlite DAO を介してデータをクエリすると問題が発生します。
コード:
List<Point> pl = db.getPointsDAO().queryBuilder().where().
eq("route_id", croute).query();
List<Point> pl
現在のルートのポイントの大きなリストを取得したい場合croute
、40.000 ポイントを得るために 40 秒ほど待たなければなりません。
Point.class は次のとおりです。
@DatabaseTable(tableName = "points")
public class Point extends BaseEntity {
@DatabaseField(generatedId = true)
private Integer point_id;
@DatabaseField(canBeNull = false)
...
@DatabaseField(canBeNull = false)
private Double dose;
@DatabaseField(dataType=DataType.DATE_STRING, format="yyyy-MM-dd HH:mm:ss")
public Date date;
@DatabaseField(canBeNull=true,foreign=true)
private Route route;
public Point() {
super();
};
... ...
}
Route.class は次のとおりです。
@DatabaseTable(tableName = "routes")
public class Route extends BaseEntity {
@DatabaseField(generatedId = true)
private Integer route_id;
@DatabaseField(canBeNull = true)
private String name;
@ForeignCollectionField(eager = false)
ForeignCollection<Point> points;
public Route() {
super();
}
... ...
}
私が間違っていることは何ですか?
ありがとう、トニ