特定于应用程序的二进制数据在表外的sqlite DB中

时间:2014-08-15 10:16:25

标签: sqlite

是否可以以固定/可计算的偏移量存储特定于应用程序的二进制数据?

我有一种情况,我有2个程序,一个可以读取sqlite DB,一个不能但想从同一个DB文件访问一些字节(~10个字节)。

可能不使用sqlite VFS。 我已经考虑过在表格中存储一个大的魔术字符串+真实数据。但是其他程序需要读取整个DB文件。

1 个答案:

答案 0 :(得分:1)

SQLite数据库文件格式is documented

如果将字节放入特殊表中,则不需要读取太多页面(但解析B树/记录格式仍然相当复杂)。

或者,将字节放入表定义

CREATE TABLE unused(unused /* MAGIC:xxxxxxxxxx */);

只要没有太多的表(如果sqlite_master表太大,它从第一页溢出),这将在第一页中。

或者,数据库header中存在(截至目前)20个未使用的字节。