gpt4 book ai didi

linux - 查询SQLite数据库文件大小?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:08 24 4
gpt4 key购买 nike

我们正在为小型 ARM 设备构建传感器数据收集 Linux 应用程序,数据存储在 SD 卡上的 SQLite 数据库中。由于资源有限,我想定期检查(物理)数据库大小并每隔一段时间删除旧数据。

我可以使用 C++ 或 OS 函数来获取文件大小,但我认为如果我可以通过查询直接从数据库中获取文件大小,它会更加优雅和可移植。有办法吗?

最佳答案

删除数据不会减小文件大小(空闲页面仅保留在数据库文件中,可以重新用于新数据)。

减少数据库文件大小是通过执行 VACUUM 完成的,但这实际上需要三倍的文件大小来复制文件。

没有查询文件大小的机制;你必须使用一些操作系统功能。但是要找出有多少空闲页面,请使用 PRAGMA freelist_count .

为防止数据库变得太大,使用PRAGMA max_page_count (并准备好处理由此产生的错误)。

关于linux - 查询SQLite数据库文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630719/

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