gpt4 book ai didi

ios - Core Data 中如何有效处理大数据集?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:46:19 24 4
gpt4 key购买 nike

我在我的应用程序中使用核心数据来存储可能包含多达 50k 个或更多对象的实体。我将其与 TableView 中的 NSFetchedResultsController 配对。由于单元格重用, TableView 工作正常,但我最大的问题是查询实际数据库以获取数据集。

当我第一次加载 TableView 时,我需要来自数据库的所有结果。我正在使用带有单个排序描述符的默认获取请求,并将 batchSize 设置为 1,000。在 iPad 2 上,此查询最多需要 15 秒 才能完成!我还必须在取消搜索后运行此查询,因此总的来说这会使应用程序无法使用。我的假设是 CD 仍然必须解决所有这些结果或设置部分或其他东西,我真的不知道但只使用 batchSize 没有帮助?从总是添加新行、更改排序顺序等的意义上讲,内容也非常动态。因此缓存的好处有限。

我现在认为最好的选择是在 fetchRequest 中使用 fetchLimit,然后实现一些基本的分页。当 TableView 滚动到末尾时获取下一个“页面”结果?这种方法的唯一问题是我丢失了 sectionIndex,我想不出任何解决方法。

有人有任何想法或已经处理过这个问题吗?

最佳答案

当您为 FRC 设置获取请求时,批处理大小应该比屏幕上任何时候可以看到的项目数量大几项,可能是其两倍。 FRC 已经为你做了分页,你只需要更好地设置页面大小。

关于ios - Core Data 中如何有效处理大数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17705578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com