SQLite 3.33.0 釋出了,SQLite 是一個 C 實現的 SQL 資料庫引擎,它的特點是小型、快速、自包含、高可靠性和功能齊全。SQLite 嵌入在所有手機和大多數計算機中,也捆綁在為數眾多的其它應用中,是世界上使用量最大的資料庫引擎。
此版本更新內容包括:
- 支援遵循 PostgreSQL 語法的 UPDATE FROM:
- UPDATE-FROM 的想法是對 SQL 的擴充套件,它允許 UPDATE 語句由資料庫中的其他表驅動。使用 UPDATE-FROM,可以將目標表與資料庫中的其他表連線起來,以幫助計算需要更新的行以及這些行上的新值。
- 將資料庫檔案的最大大小增加到 281 TB。
- 擴充套件了 PRAGMA integrity_check 語句,以便可以選擇將其限制為僅驗證單個表及其索引,而不是驗證整個資料庫檔案。
- 添加了用於執行任意精度十進位制算術的十進位制副檔名。
- 增強 ieee754 擴充套件,以使用 IEEE 754 binary64 數字。
- CLI 增強功能:
- 添加了四個新的輸出模式:“box”、“json”、“markdown” 和 “table”。
- “column”輸出模式會自動擴充套件列以包含最長的輸出行,如果之前未設定,則自動開啟“.header”。
- “quote”輸出模式支援“.separator”。
- CLI 內建了十進位制副檔名和 ieee754 副檔名。
- 改進 Query planner:
- 添加了使用 INDEXED BY 查詢查詢的全索引掃描(full-index-scan)查詢計劃的功能,該計劃以前會因“無查詢解決方案”而失敗。
- 儘管存在錯誤資訊,但可以更好地檢測丟失,不完整和/或不可靠的 sqlite_stat1 資料,並生成良好的查詢計劃。
- 提高了查詢效能,例如“SELECT min(x) FROM t WHERE y IN (?,?,?)”(假設在 t(x,y) 上具有索引)。
- 在 WAL 模式下,如果寫入器崩潰並使 shm 檔案處於不一致狀態,則即使存在活動的讀取事務,後續事務現在也可以恢復 shm 檔案。在此版本之前,該情況下的 shm 檔案恢復將導致 SQLITE_PROTOCOL 錯誤。
更新說明:https://sqlite.org/releaselog/3_33_0.html