SQLite 內建了 JSON 擴充功能,讓您能夠直接在表格中儲存和查詢 JSON 文件。您可以保持結構的彈性,同時仍能使用 SQL 來剖析結構化資料。

範例:從 JSON 欄位中提取欄位:

您也可以為 JSON 表達式建立索引,讓對半結構化資料的查詢速度出奇地快。

SQLite 的 FTS5 擴充功能將其變成一個功能強大的全文檢索引擎。您無需額外整合外部搜尋服務,即可將所有內容保留在單一資料庫檔案中。

範例:建立簡單的搜尋索引:

您無需離開 SQLite 或管理獨立的服務,即可獲得排名、片語查詢、前綴搜尋等功能。

SQLite 支援通用表格表達式 (CTE) 和視窗函數,這開啟了一類過去需要更重量級資料庫才能實現的分析查詢。

範例:使用視窗函數計算滾動總計:

將此與 CTE 結合,您就可以在單一 SQLite 檔案上建構出令人驚訝的豐富報表和儀表板。

SQLite 以其彈性的型別模型而聞名(或惡名昭彰)。現代 SQLite 新增了 STRICT 表格,它比 PostgreSQL 或其他傳統資料庫更能強制執行型別約束。

使用嚴格表格,無效的型別會在插入時被拒絕,使結構更可預測,並減少細微的錯誤——尤其是在較大的程式碼庫中。

生成欄位讓您可以將表達式儲存為虛擬或實體欄位,將衍生資料保留在來源附近,而無需在應用程式中重複邏輯。

現在,每次插入或更新都會自動同步 full_name,您可以對其進行有效索引和查詢。

寫入前日誌 (WAL) 是一種日誌記錄模式,可提高許多工作負載的並行處理能力和效能。在常見情況下,讀取器不會封鎖寫入器,寫入器也不會封鎖讀取器。

啟用 WAL 只需一個 pragma 呼叫:

對於桌面應用程式、本地優先工具和小服務,WAL 模式可以在保持 SQLite 的簡潔性和可靠性的同時,顯著提升使用者感知到的效能。