gpt4 book ai didi

ios - SQLite 与 Plist 性能对比

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

我有一些数据必须本地存储在我的应用程序中,我想知道什么是最好的存储方式(从性能角度来看)。数据不多也不少。从 plist 的角度来看,数据可能如下所示:

 -root
-main_block1
-sub_block1
-some_data
-some_data
-some_data

-sub_block2
-some_data
-some_data
-some_data

-sub_block3
-sub_block4
...
-sub_blockn
-main_block2
-main_block3
...
-main_blockn

将有大约 3-10 个(我猜最多 13-15 个)主要区 block 。将主 block 视为具有大约 10 个字符作为标题的字典。在每个主 block 中,将有 1-10 个(最多 10 个)子 block ,它们也是字典。每个子 block 将包含一些纯文本数据。不超过 100 个字符(或可能 200-300)的字符串。

我将需要读取这些数据并将其混合一些(交换一两个主 block 并交换一两个子 block )。

我需要它尽可能快,因为我的应用程序中已经有很多东西,所以我想知道我应该使用什么?属性列表文件还是 SQLite 数据库?
SQLite 数据库基本上是一个文本文件,周围有一个代码包装器来操纵它的内容,所以我猜在我的情况下,plist 文件会更快......

如前所述,数据不会超过几十千字节(希望不会 :P)。

编辑:添加一点信息:主 block 是需要按此顺序加载的 View ,子 block 是主视图上需要按此顺序加载的 subview 。一些数据是将被提供给那些 View 的数据。因此主视图和 subview 的顺序将不时更改, subview 的数据将在用户决定时重新加载。希望这能有所帮助。

最佳答案

SQLite 真正用于搜索记录存储、将数据连接在一起以及过滤掉不需要的数据。听起来您的数据结构可以很容易地放入内存(尽管您应该测量它以查看您拥有什么),几乎不需要编辑。如果您必须更改表的架构,那么在 SQLite 中进行编辑将是一件令人头疼的事情。为什么不将其保留为字典/数组结构,并使用序列化将其存储在文件中,甚至存储在用户默认值中?如果您打算在 Apple 的标准 View 中显示它,您希望一个 View 立即显示在另一个 View 中所做的更改,也许 CoreData 是您的 friend 。

关于ios - SQLite 与 Plist 性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130005/

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