SQLite 3.35帶有新的內置數學函數等

SQLite 3.35版本已發布 在此新版本的數據庫管理器中 數學函數加法突出顯示, 並支持ALTER TABLE DROP COLUMN表達式從表中刪除列,改進的操作等。

對於那些不熟悉SQLite軟件包的人 這是一個輕量級的DBMS,設計為插件庫。 SQLite代碼 作為公共領域分發, 也就是說,它可以不受限制地免費使用,並且可以出於任何目的免費使用。

SQLite 3.35的主要新功能

如開頭所述,在這個新版本中 內置數學函數 (log2(),cos(),tg(),exp(),ln(),pow()等) 可以在SQL中使用。 要啟用內置功能,需要帶有“ -DSQLITE_ENABLE_MATH_FUNCTIONS”選項的程序集。

表達 現在,“ ALTER TABLE DROP COLUMN”支持從表中刪除列 並刪除以前存儲在此列中的數據。

執行UPSERT操作(添加或修改),如果您無法通過“ INSERT”添加數據(例如,記錄,則可以執行UPDATE(而不是INSERT)。

在新版本中,允許指定多個塊«衝突中«,將按順序處理。 在最後一個“ ON CONFLICT”塊中,不允許指定衝突定義參數以使用“ DO UPDATE”。

行動 DELETE,INSERT和UPDATE支持RETURNING表達式,可以使用 顯示已刪除,已插入或已修改記錄的內容。 例如,“插入...返回ID”將返回添加的行標識符,而“更新...設置價格=價格* 1.10返回價格”將返回更新價格的值。

對於允許使用時間命名結果集的通用表表達式(通用表表達式,CTE),使用WITH運算符,允許選擇模式“ MATERIALIZED”和“ NOT MATERIALIZED”。

  1. “ MATERIALIZED”表示將視圖中指定的查詢緩存在單獨的物理表中,隨後從該表中檢索數據。
  2. 並使用“未進行材料化”,每次訪問視圖時都將執行重複查詢。 最初,SQLite默認默認為“ NOT MATERIALIZED”,但由於多次使用的CTE,現在已更改為“ MATERIALIZED”。

其他變化 從這個新版本中脫穎而出:

  • 對於包含帶有TEXT或BLOB類型的非常大的值的數據庫執行VACUUM操作時,減少了內存消耗。
  • 已經完成了提高優化器和查詢調度程序性能的工作。
  • 在將min和max函數與表達式“ IN”一起使用時,添加了優化。
  • EXISTS語句的執行已加快。
  • 實現了JOIN中使用的UNION ALL表達式的子查詢的擴展。
  • 用於IS NOT NULL表達式的索引。
  • 為帶有“ NOT NULL”標誌的列提供了“ x IS NULL”和“ x IS NOT NULL”到FALSE或TRUE的轉換。
  • 如果操作未更改與外鍵關聯的列,則跳過UPDATE中的外鍵檢查。
  • 如果將WHERE子句的某些部分限制為使用常量和窗口函數中使用的“ PARTITION BY”子句表達式的副本,則允許將這些部分移動到包含窗口函數的子查詢中。

更改為命令行界面:

  • 添加了“ .filectrl data_version”命令。
  • “ .once”和“ .output”命令增加了對使用未命名管道(“ |”)將輸出傳遞到調用的控制器的支持。
  • “ .stats”命令添加了“ stmt”和“ vmstep”參數,以顯示有關虛擬機計數器和表達式的統計信息。

終於 如果您有興趣了解更多信息 關於此新版本的SQLite,您可以查看詳細信息 通過轉到以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。