知名資料庫SQLite發布最新的3.45版本,該版本其中一項值得注意的更新,在於JSON SQL函式的強化。SQLite 3.45所有JSON函式都被重寫,改用新的內部解析樹格式JSONB,JSONB格式可以序列化並儲存在資料庫中,避免在使用JSON值時,還需要進行不必要的重複解析,因此透過支援JSONB,SQLite在處理JSON資料能夠更高效靈活。

JSONB是一種新的二進位表示方式,用於內部儲存和處理JSON資料,SQLite支援JSONB的目的,便是要提高處理JSON資料的效率和效能。JSONB能夠將JSON的解析樹,以BLOB二進位的形式儲存在磁碟上,且可以減少應用程式讀取和更新JSON值的解析和渲染開銷,比起JSON,JSONB使用更小的磁碟空間,在處理速度上更快。

透過支援JSONB,SQLite還能更好地與其他二進位JSON格式系統整合,除此之外,雖然目前SQLite的JSONB不支援O(1)時間複雜度元素查詢,但在其格式保留添加該功能的空間,因此未來版本的效能可能還會有進一步提高。

SQLite承諾其生成的JSONB保證格式良好,但是由於JSONB本質上就是一個BLOB,因此可能存在格式不正確的JSONB,而SQLite在處理格式不正確的JSONB,就可能出現不同行為,像是產生錯誤、回傳正確或是錯誤答案等情況發生。不過SQLite也保證,格式錯誤的JSONB永遠不會導致記憶體錯誤或是類似問題,也不會出現系統漏洞。

熱門新聞

Advertisement