SQLite 3.45 发布,添加对 JSONB 格式支持

SQLite 3.45 已发布。

SQLite 是一个 C 语言库,实现了一个小型、快速、独立、高可靠性、全功能的 SQL 数据库引擎。SQLite 是世界上使用最多的数据库引擎。SQLite 的源代码属于公共领域,每个人都可以免费使用,用于任何目的。

新版本重写了所有 JSON 函数,改为新的内部解析树格式 JSONB。JSONB 格式可以序列化并存储在数据库中,避免在使用 JSON 值时,还需要进行不必要的重复解析。因此通过支持 JSONB,SQLite 在处理 JSON 数据时能够更高效灵活。

此外,JSONB 保留所有旧功能,并且所有 JSON 函数也可以接受 JSONB 二进制内容。

SQLite 承诺其生成的 JSONB 格式良好,但是由于 JSONB 本质上就是一个 BLOB,因此可能存在格式不正确的 JSONB,而 SQLite 在处理格式不正确的 JSONB,就可能出现不同行为,从而发生错误。不过 SQLite 也保证,格式错误的 JSONB 永远不会导致内存错误或是类似问题,也不会出现系统漏洞。

详情查看SQLite 重写了 JSON 函数 —— 推出 JSONB