是否可以以固定/可计算的偏移量存储特定于应用程序的二进制数据?
我有一种情况,我有2个程序,一个可以读取sqlite DB,一个不能但想从同一个DB文件访问一些字节(~10个字节)。
可能不使用sqlite VFS。 我已经考虑过在表格中存储一个大的魔术字符串+真实数据。但是其他程序需要读取整个DB文件。
答案 0 :(得分:1)
SQLite数据库文件格式is documented。
如果将字节放入特殊表中,则不需要读取太多页面(但解析B树/记录格式仍然相当复杂)。
或者,将字节放入表定义:
CREATE TABLE unused(unused /* MAGIC:xxxxxxxxxx */);
只要没有太多的表(如果sqlite_master
表太大,它从第一页溢出),这将在第一页中。
或者,数据库header中存在(截至目前)20个未使用的字节。