ios - iPad 上的核心数据获取速度非常慢
<p><p>我在使用 iOS 4.3.2 的 iPad 上运行以下核心数据获取请求。</p>
<pre><code>NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"feed.account.name == %@ AND feed.feedType == %@", accountName,feedType];
NSSortDescriptor *sortDescriptor = [ initWithKey:@"date"
ascending:NO];
NSArray *sortDescriptors = [ initWithObjects:sortDescriptor, nil];
fetchedResultsController=;
];
;
;
;
return ;
</code></pre>
<p>我在 RssFeedItem 表的 SQLite 数据库中有大约 688 行数据,而在所有其他表中不到 100 行。该查询使用调试日志记录为:</p>
<pre><code>CoreData: sql: SELECT t0.Z_ENT, t0.Z_PK, t0.ZURL, t0.ZHEADLINE, t0.ZISREAD, t0.ZORIGIN,
CoreData: annotation: sql connection fetch time: 3.3854s
CoreData: annotation: total fetch execution time: 3.4178s for 688 rows.
</code></pre>
<p>而且运行速度非常慢(超过 3 秒)。我对所有必需的搜索字段和排序字段都有索引。我假设也许 2 方式加入让它变慢了,但不知道为什么它会那么慢。有什么方法可以优化此代码或查询,还是我应该查看其他内容? </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我猜你的查询速度变慢的行是</p>
<pre><code> [fetchedResultsController.fetchRequest setPropertiesToFetch:[NSArray
arrayWithObjects:@"url",@"headline",@"isRead",@"origin",@"originId",@"date",nil]];
</code></pre>
<p>和</p>
<pre><code>;
</code></pre>
<p>我很好奇,为什么需要一次获取所有这些属性(和 500 项)? </p></p>
<p style="font-size: 20px;">关于ios - iPad 上的核心数据获取速度非常慢,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/5889740/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/5889740/
</a>
</p>
页:
[1]