将图像保存到iPhone上的数据库或文件系统

时间:2011-01-25 17:07:42

标签: iphone

如果我希望数据库表中的某些行拥有图像,那么最好的方法是什么。我应该添加BLOB类型的列,还是应该保留对图像的引用并将图像添加到文档文件夹中?

2 个答案:

答案 0 :(得分:2)

最佳做法是仅保存参考。 1.你的数据库会小得多。 2.它更灵活:您可以将图像更改为另一个(具有相同名称),而无需更新数据库。

答案 1 :(得分:1)

在数据库中存储图像数据(或其他大块二进制数据)既有优点也有缺点。在好的方面:

  • 所有应用的数据都可以包含在一个文件中
  • 根据数据库的不同,您可以选择对应用程序数据进行事务/原子更新,避免在错误情况下应用程序数据进入意外状态的问题

缺点是:

  • 数据库会更大
  • 可能存在与处理将丢失的文件系统中的图像数据相关的优化(例如 - 内存映射)
  • 处理图像的内存占用量可能会增加
  • 根据写入期间的数据库粒度,可能会增加争用/阻塞,如果想要快速进行大量单独的事务/原子更改,则会降低更新数据库的速度