SQLite 3.9支持JSON、表達式索引及更多特性

jopen 9年前發布 | 8K 次閱讀 SQLite


最近發布的SQLite 3.9提供了一些新特性和增強功能,包括支持JSON編解碼、全文檢索版本5、表達式索引、同名虛表等等。

根據采用 最新語義版本 標準,SQLite 3.9是一個通過引入新特性而打破兼容性同時又向下兼容舊版本的版本。SQLite 3.9引入的新特性包括:

  • 支持JSON ,通過json1 擴展 ,實現了 一套方法 來驗證JSON字符串、構建JSON數組和對象、操作JSON字符串(通過更新、插入和替換值)等。另外,有兩個 表值方法 可以通過將每個JSON元素映射成行來將JSON字符串轉換成虛表。
  • 索引表達式 ,補充了引用表列的傳統索引,允許使用涉及多個列的表達式創建索引。這個特性將使得查詢更有效率,例如,需要列出給定賬戶金額總數超過給定數目的所有操作:
  • CREATE INDEX account_change_magnitude ON account_change(acct_no, abs(amt));  SELECT * FROM account_change WHERE acct_no=$xyz AND abs(amt)>=10000;
  • 同名虛表 ,它是可以用于通過簡單地參照其模型名稱的虛表,即,不需要運行 CREATE VIRTUAL TABLE 。 它的一個例子是dbstat虛表,它提供了一個數據庫文件中的B樹和溢出頁的低級別信息。
  • 全文檢索版本5 (FTS5),是一個虛表組件,它允許創建一個可以之后全文檢索的虛表。以下是如何通過FTS5填充一個虛表:
  • CREATE VIRTUAL TABLE email USING fts5(sender, title, body);

    一旦你擁有一個FTS5虛表,你可以通過三種方式來在其中查詢一個詞:

    SELECT * FROM email WHERE email MATCH 'fts5';  SELECT * FROM email WHERE email = 'fts5'; SELECT * FROM email('fts5');

    這個功能依然在實驗狀態。

值得一提的其它變化是當使用 CREATE VIEW 時增加了列名的可選列表,當創建一個 視圖 ,并讓他們在查詢時檢查的時候引用未定義表的可能性。

更多信息,閱讀 SQLite 3.9.03.9.1 release notes

查看英文原文: SQLite 3.9 Supports JSON, Indexes on Expressions and More

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!