Возникла проблема с запросом данных через Ormlite DAO, когда результатов несколько тысяч.
Код:
List<Point> pl = db.getPointsDAO().queryBuilder().where().
eq("route_id", croute).query();
Когда я хочу получить большой список точек List<Point> pl
для текущего маршрута croute
Мне нужно подождать 40 секунд, чтобы набрать 40000 точек.
где 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();
}
... ...
}
Некоторые идеи, что я делаю не так?
Спасибо,
Toni