SQLite3:批量插入?

时间:2010-10-29 04:39:51

标签: iphone database sqlite core-data ios

我正在接管一个项目的旧代码。 我的首要任务之一是减少应用程序二进制文件的最终大小。 由于内容包含大量文本文件(大约10,000个),我首先想到的是创建一个包含它们的数据库。

我并不习惯SQLite和Core Data,所以我基本上有两个问题:

1 - 我的假设是否正确?我的SQLite文件的大小是否应该小于所有文本文件? 2 - 有没有办法自动完成将它们全部放入我新创建的数据库(可能使用某种GUI或脚本)的任务,单个表中每个记录一个文件?

我还在尝试使用CoreData,但我已经做了很多搜索工作,找不到任何与数据库文件中的所有内容相关的内容。手动执行此操作已经证明不是一项简单的任务!

感谢。

3 个答案:

答案 0 :(得分:1)

1 - 它可能不会更小,但您可以在将文件存储到数据库之前压缩文件。或者没有数据库。

2 - 当然。编写脚本不应该太难。

答案 1 :(得分:1)

使用SQLite的替代方法可能是使用zipfile。这很容易创建,并且肯定会安全空间(并且肯定会减少文件数量)。在iphone上有几种使用zipfiles的实现,例如ziparchiveTWZipArchive

答案 2 :(得分:0)

如果您正在寻找SQLite批量插入命令来编写2)的脚本,则没有一个AFAIK。在事务中的循环中准备插入语句是你能做的最好的,我想只需几秒钟(如果那样)就可以插入10,000条记录。