gpt4 book ai didi

objective-c - 如何在 SQLite 数据库与内存使用之间做出决定

转载 作者:IT王子 更新时间:2023-10-29 06:25:17 26 4
gpt4 key购买 nike

我从一位离开公司的同事那里继承了一个项目。在检查他的代码时,我对某些事情感到困惑。当他从服务器接收到大量数据后,他将这些数据保存到客户端的数据库中,然后他继续在 db 上处理这些数据。在应用程序开始时接收一次数据。我无法理解的是,为什么他不只是使用内存中的数据而是需要将其存储在数据库中?

应用程序内部有很多内存密集型操作,比如使用 Quartz 查看大的 pdf 文件等等,但是 sqlite 的大小不也算作应用程序的内存使用吗?我的意思是,您认为这样做的优势是什么?

最佳答案

SQLite 在加载自身时占用空间非常小 (~250-400Kb)。当 SQLite 使用磁盘数据库时,没有内存开销,它甚至不计算文件的大小(默认情况下,数据库可以在其表中保存大约 1Tb 的数据)。正如您所说,它是持久性数据存储。

在内存数据库存储的情况下,您的应用程序将使用

memory = database file size + small overhead

此外,您可以在内存数据库上执行的查询会受到一些限制(我不记得我在街上的时间,但您不能使用事务和真空)

将 SQLite 与磁盘数据库一起使用,与尝试使用文件存储数据集相比,您将获得更快的数据访问速度和更少的占用空间

关于objective-c - 如何在 SQLite 数据库与内存使用之间做出决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067798/

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