暂时,我的应用程序每天将检索至少86400行数据,因为我们总共有10个通道,每个通道产生8640行数据(全天每10秒插入一行)。
(由于一些主要限制,目前已在移动设备上完成。将来会将这些密集处理迁移到某个中间件)
问题现在是检索的一半,我的应用程序将因光标的1MB大小限制而崩溃。以下是用于检索的方法。
public Cursor getUnconsolidatedReadings(String channelID) {
String[] channelIDs = {channelID};
db = this.getReadableDatabase();
String sqlRetrieve = "SELECT ChannelID, TimeStamp, ID, RMSCurrent, RealPower FROM Readings WHERE Consolidated = 0 AND ChannelID = ?";
Cursor cursor = db.rawQuery(sqlRetrieve, channelIDs);
return cursor;
}
有没有更好的方法来进行这种大数据检索?