當有幾千條結果時,通過Ormlite DAO查詢數據時出現問題。ormlite DAO在android查詢超過幾千條結果時變得非常慢
代碼:
List<Point> pl = db.getPointsDAO().queryBuilder().where().
eq("route_id", croute).query();
當我想要拿分List<Point> pl
的大名單當前路線croute
我不得不等待像40秒,40.000分。
其中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();
}
... ...
}
一些想法我做錯了嗎?
感謝, 託尼
使用普通光標... – Selvin