0

我有一个名为 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 倍?...

4

0 回答 0