gpt4 book ai didi

objective-c - 将图像存储在 sqlite 中还是只是对它的引用?

转载 作者:可可西里 更新时间:2023-11-01 06:23:36 26 4
gpt4 key购买 nike

我已经使用 coredata 制作了几个应用程序,并且我在 sqlite 中存储图像,但在某个地方我发现它很糟糕。我在网上搜索过,但我只找到了这个建议:

  • 图片大小<100kb与相关数据存储在同一个表中
  • 图像大小 < 1mb 存储在通过关系附加的单独表中避免不必要的加载
  • 图像大小 > 1mb 存储在磁盘上并在 Core Data 中引用它

所以我的问题是:在 sqlite 数据库中将图像保存为 NSData 并在文件系统中保存图像时仅存储对图像的引用有什么优缺点?

最佳答案

Apple 在其关于 Core Data Performance 的指南中提供了有关此主题的一些指导.总的来说,尽管 SQLite 的扩展性很好并且可以轻松处理数 GB 大小的数据库,但是大型二进制 blob 不可查询或不可索引,并且会增加数据库的大小而没有什么返回。

如果您的目标是 iOS 4 及更高版本,您可以在包含此类数据的属性上设置“Allows External Binary Data Storage”标志,Core Data 会自动将它们单独存储在文件系统中(如果它认为合适),并在您的数据存储中自动管理指向该数据的链接。

关于objective-c - 将图像存储在 sqlite 中还是只是对它的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346879/

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