如何将本地数据库的最大容量包含在应用包的容量中?

How to include the maximum capacity of the local database into the capacity of the app package?

提问人:wsys 提问时间:11/15/2023 更新时间:11/15/2023 访问量:15

问:

我正在努力使用 Qt 框架和 SQLite 开发 Windows 桌面应用程序。
我的分布式应用的安装文件是使用 Microsoft Visual Studio 的安装项目创建的。

应用程序使用 SQLite 作为本地数据库,数据库文件存储在 Windows AppData 路径中。
例如
C:/Users/<name>/AppData/Roaming/<ProductName>/db.sqlite

我不希望数据库文件的大小无限增加,所以有限。
现在,我可以假定最大数据库文件大小为字节。
max_page_countpage_size * max_page_count

假设我的应用包的大小为 5GB,最大数据库文件的大小为 10GB。
如果用户 PC 的 C 盘只剩下 8GB,我的应用程序将安装成功。但是,当数据库文件的大小动态增加时,驱动器空间不足将是一个问题。

如何预防上述情况?

我认为最好的解决方案是使应用程序的最终所需容量成为数据库文件的最大大小和我的应用程序包的总和。为此,数据库文件大小应该是静态的(作为其最大大小),因此我可能必须用空页填充初始数据库。此外,SQLite的命令不能再使用。在性能方面似乎不太好。VACUUM

任何建议将不胜感激。

Windows SQLite 安装 桌面应用程序

评论


答: 暂无答案