狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQLite 3.47.0 發布,大量新功能來襲

admin
2024年10月24日 0:9 本文熱度 751

SQLite 開發團隊于 2024 年 10 月 21 日發布了 SQLite 3.47.0 版本,我們來了解一下新版本的改進功能。

觸發器增強

SQLite 3.47.0 版本開始,觸發器函數 RAISE() 的 error-message 參數可以支持任意 SQL 表達式。在此之前,該參數只能是字符串常量。

?

新版本的函數可以輸出更加靈活有用的錯誤信息。

JSON運算符

新版本的 JSON 運算符 ->> 支持從數組右側開始計算元素下標,例如:

sqlite> select '[1,2,3,4]' ->> 1;
2
sqlite> select '[1,2,3,4]' ->> -1;
4

當表達式右側參數為負數時,表示從右側開始開始計算元素位置。

SQL函數

新版本改進了聚合函數 group_concat(),當輸入參數只有一行空字符串時返回空字符串而不是 NULL。

sqlite> CREATE TABLE t(cid int, val varchar(10));
sqlite>
sqlite> INSERT INTO t values(1, 'S'),(1, 'Q'),(1, 'L');
sqlite> INSERT INTO t values(2, '');
sqlite> INSERT INTO t values(3, null);
sqlite>
sqlite> .nullvalue 'None'
sqlite> SELECT group_concat(val)
  ...> FROM t
  ...> GROUP BY cid;
S,Q,L

None

新版本增強了表值函數 generate_series(),可以識別并且使用基于返回結果值的約束。

性能優化

SQLite 3.47.0 性能優化包括:

  • 優化了 IN 運算符中的子查詢重用,尤其是存在謂詞下推導致的 IN 運算符重用。

  • 針對 IN 運算符中的子查詢,在可能帶來優化性能的場景時使用布隆過濾器。

  • 對于類似“SELECT func(a) FROM tab GROUP BY 1”的查詢,確保每行數據只調用一次 func() 函數。

  • 如果已知某個字段的選擇性很低(通過分析該字段參與的其他索引獲得),基于該字段的查詢不會嘗試創建自動索引(查詢時索引)。

  • 針對涉及大量維度表的星型查詢優化了查詢計劃。

  • 增加了排序子查詢(order-by-subquery)優化功能,當查詢最終的排序結果和子查詢中的 ORDER BY 結果一致時,可以避免最終的排序操作。

  • 針對表達式索引,如果查詢計劃器可以確認不會使用表達式的子類型,indexed-subtype-expr 優化就會盡量使用作為索引一部分的表達式的數值,而不會基于表中的數據重新計算表達式。

  • 其他優化運行速度的代碼調整。

命令行工具

SQLite 3.47.0 增加了一個試驗性質的命令行工具 sqlite3_rsync,它可以用于實現 SQLite 主從復制。顯然這是一個非常重要的功能,可以完成 SQLite 原生一致性復制,期待正式版本。

命令行工具默認增加了擴展聚合/窗口函數 median()、percentile()、percentile_cont() 以及 percentile_disc()。

命令行工具增加了一個元命令 .www,它等價于“.once -w”,可以將查詢結果以 HTML 表格形式在瀏覽器中顯示。

sqlite3_analyzer 工具可以獲取 WITHOUT ROWID 數據表的詳細統計信息。

當數據庫比較工具 sqldiff 第二個參數指定的數據庫不存在時,不再創建一個空白數據庫。

其他改進

修復了非主流 unix-dotfile VFS 回滾熱日志文件時存在的一個問題。

即使使用了沒有注冊的非標準分詞器,也可以刪除 FTS5 數據表。

通過 ALTER TABLE ADD COLUMN 語句新增非空且存在默認值的字段時,可以識別更新前的鉤子程序。

增強了 sqlite_dbpage 虛擬表,INSERT 語句可以用于增加或者減少數據庫文件大小。

SQLite 不在使用 long double 數據類型,因為支持該類型的硬件越來越少,而且一些編譯工具鏈無法支持。

新版本支持的 TCL 接口升級為 TCL 9。雖然 TCL 8.5 以及更高版本可能正常工作,但是不能保證,建議升級到 TCL9。

新版本還修復了 JavaScript/WASM 相關的一些問題。同時還改進了 FTS5 相關功能。

完整的發行說明可以參考官方文檔:

https://www.sqlite.org/releaselog/3_47_0.html


該文章在 2024/10/24 9:25:11 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved