我有一个名为 TaskType 的简单类:
@interface TaskType : PFObject <PFSubclassing>
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) PFObject *user;
@end
然后我对任务类型有一个简单的查询:
PFQuery *taskTypesQuery = [TaskType query];
[taskTypesQuery fromLocalDatastore];
[taskTypesQuery whereKey:@"user" equalTo:[PFUser currentUser]];
NSLog(@"start fetching task types");
[taskTypesQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
NSLog(@"task types fetched: %d", [objects count]);
}];
这是日志输出:
2015-07-30 13:44:01.548 start fetching task types
2015-07-30 13:44:02.949 task types fetched: 20
为什么从 LOCAL DATASTORE 查询 20 个项目需要 1400 毫秒!?
在 iPod Touch 5 上进行测试。在我的 iPhone 6 上,相同的查询大约需要 500-600 毫秒,但仍然太多了!这是一种错误还是我做错了什么?如何最小化查询时间?
PS:在没有这个“fromLocalDatastore”的情况下,我的 iPod 5 上的相同查询显示了以下内容:
2015-07-30 13:47:51.126 start fetching task types
2015-07-30 13:47:51.455 task types fetched: 20
从远程获取的时间怎么可能比从本地数据存储中获取的时间少 3-4 倍?...