asl*_*nci 8 memory sqlite objective-c ios
我从一位离开公司的同事那里继承了一个项目.在检查他的代码时,我感到困惑.在他从服务器收到大量数据后,他将这些数据保存到客户端的数据库中,然后他继续在db上处理这些数据.数据在应用程序开始时收到一次.我无法理解的是,为什么他不只是使用内存中的数据而是需要将其存储在db上?
在应用程序内部有许多内存密集型操作,比如使用Quartz查看大型pdf文件等等,但sqlite的大小是不是也算作应用程序的内存使用量?我的意思是你认为这可能是什么优势?
SQLite在加载自身(~250-400Kb)时占用空间非常小.当SQLite使用磁盘数据库时,由于它没有内存开销,它甚至不测量文件的大小(默认情况下,数据库可以在其表中保存大约1Tb的数据).正如你所说,它是持久的数据存储.
对于内存数据库存储,您的应用程序将消耗
memory = database file size + small overhead
Run Code Online (Sandbox Code Playgroud)
你也可以在内存数据库中执行的查询得到一些限制(我不记得我在街上的时间,但你不能使用事务和真空)
将SQLite与磁盘数据库一起使用,与尝试使用文件存储数据集相比,您将获得更快的数据访问和更小的占用空间
| 归档时间: |
|
| 查看次数: |
4698 次 |
| 最近记录: |