菜鸟教程小白 发表于 2022-12-13 07:36:03

ios - iPad 上的核心数据获取速度非常慢


                                            <p><p>我在使用 iOS 4.3.2 的 iPad 上运行以下核心数据获取请求。</p>

<pre><code>NSPredicate *predicate = [NSPredicate predicateWithFormat:
                        @&#34;feed.account.name == %@ AND feed.feedType == %@&#34;, accountName,feedType];

NSSortDescriptor *sortDescriptor = [ initWithKey:@&#34;date&#34;
                                                               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:@&#34;url&#34;,@&#34;headline&#34;,@&#34;isRead&#34;,@&#34;origin&#34;,@&#34;originId&#34;,@&#34;date&#34;,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]
查看完整版本: ios - iPad 上的核心数据获取速度非常慢