SQLite 3.54 已發布,這是一個設計為外掛程式庫的輕量級 DBMS。 SQLite 程式碼以公共網域分發,即可以不受限制且免費用於任何目的。 SQLite 開發人員的財務支援由專門創建的聯盟提供。
主要變化:
- 經過最佳化,speedtest1 基準測試的效能較上一版本提升了約 4%,較一年前的 3.51 版本提升了約 7.5%。實際結果可能會因工作負載、建置選項、CPU、編譯器和作業系統而異。
- sqlite 工具支援轉義序列,以便在命令提示字元下顯示額外的狀態訊息,例如「/x」顯示開啟的交易訊息,「/r」顯示唯讀資料庫,「/m」顯示記憶體資料庫,「/f」顯示資料庫檔案名,「/v」顯示 SQLite 版本,「/:」和「/;」用於建構條件表達式,「/u」顯示 SQLite 版本,「/:」和「/;」用於建立條件表達式,「/u」和「/h」分別顯示使用者和「h」。可以使用 SQLITE_PS1 和 SQLITE_PS2 環境變數自訂命令提示字元範本。
- 在 sqlite 工具中,`.mode` 指令新增了 `--ifmt`、`--rowcount on` 和 `--titles always` 選項,用於配置浮點格式並控制行計數器和表頭的顯示。 `.diskused` 指令處理程序已被取代。預設情況下,如果查詢未傳回任何行,則會保留包含列名的表頭;在 Unix 系統上輸出 blob 時,會停用空字節剝離。
- 查詢計劃器改善了在存在表達式索引但索引值不變的情況下執行 UPDATE 作業的效能。優化了「expr OR TRUE」和「expr OR FALSE」操作的執行。現在,SELECT 子查詢中位於「IN」運算子右側的 DISTINCT 表達式將被忽略。在 UNION 查詢中指定「LIMIT 1」表達式時,處理速度加快,記憶體消耗降低。
- ALTER TABLE 指令對於任何嘗試新增、刪除或重新命名包含保留名稱「ROWID」、「_ROWID_」和「OID」的資料列的操作都會產生錯誤。
- 新增了 diskused() SQL 函數,用於估算表格和索引在磁碟機上所佔用的空間。
- SQL printf() 和 format() 函數已更新,以包含用於 JSON 輸出的「%J」和「%j」替換。
- 日期和時間函數中已新增了「weekday -N」和「end of」修飾符。
- 在支援 open() 函數中的 O_TMPFILE 標誌的系統中,建立暫存檔案時會使用此模式。
- 已停止對舊版作業系統的支援。 Windows包括 Windows CE 和 Windows XP。最低版本要求是 Windows Vista系統。
來源: opennet.ru
