SQLite 3.35 đi kèm với các hàm toán học tích hợp mới và hơn thế nữa

Bản phát hành SQLite 3.35 đã được xuất bản và trong bản phát hành mới của trình quản lý cơ sở dữ liệu này bổ sung hàm toán học được đánh dấu, cũng như hỗ trợ cho biểu thức ALTER TABLE DROP COLUMN để giảm cột khỏi bảng, cải tiến hoạt động và hơn thế nữa.

Đối với những người không quen với gói SQLite nó là một DBMS nhẹ, được thiết kế như một thư viện plugin. Mã SQLite được phân phối dưới dạng miền công cộng, nghĩa là, nó có thể được sử dụng mà không bị hạn chế và miễn phí cho bất kỳ mục đích nào.

Các tính năng mới chính của SQLite 3.35

Như đã đề cập ở phần đầu, trong phiên bản mới này các hàm toán học tích hợp được thêm vào (log2 (), cos (), tg (), exp (), ln (), pow (), v.v.) có thể được sử dụng trong SQL. Để bật các chức năng tích hợp, cần có một hợp ngữ với tùy chọn "-DSQLITE_ENABLE_MATH_FUNCTIONS".

Cách diễn đạt "ALTER TABLE DROP COLUMN" hiện hỗ trợ bỏ cột khỏi bảng và xóa dữ liệu được lưu trữ trước đó trong cột này.

Việc triển khai hoạt động UPSERT (thêm hoặc sửa đổi), cho phép bạn sử dụng các biểu thức chẳng hạn như "CHÈN BẬT MẶC KHÔNG CÓ / CẬP NHẬT" để bỏ qua lỗi hoặc thực hiện cập nhật thay vì chèn nếu không thể thêm dữ liệu qua "CHÈN" (ví dụ: nếu ghi, CẬP NHẬT có thể được thực hiện thay vì CHÈN).

Trong phiên bản mới, nó được phép chỉ định một số khối «XONG«, Sẽ được xử lý theo thứ tự. Trong khối "ON CONFLICT" cuối cùng, không được phép chỉ định tham số định nghĩa xung đột để sử dụng "DO UPDATE".

Các hoạt động DELETE, INSERT và UPDATE hỗ trợ biểu thức RETURNING, có thể được sử dụng để hiển thị nội dung của bản ghi đã xóa, chèn hoặc sửa đổi. Ví dụ: "insert into ... return ID" sẽ trả về giá trị nhận dạng hàng đã thêm và "update ... set price = price * 1.10 return price" sẽ trả về giá trị của giá đã cập nhật.

Đối với biểu thức bảng tổng quát (Biểu thức bảng chung, CTE), cho phép sử dụng các tập kết quả được đặt tên tạm thời, sử dụng toán tử WITH đã yêu cầu, đã chấp thuận lựa chọn chế độ «ĐƯỢC VẬT LIỆU» và «KHÔNG ĐƯỢC VẬT LIỆU».

  1. "MATERIALIZED" có nghĩa là lưu vào bộ nhớ cache truy vấn được chỉ định trong dạng xem trong một bảng vật lý riêng biệt với việc truy xuất dữ liệu sau đó từ bảng này.
  2. Và với "KHÔNG ĐƯỢC VẬT LIỆU", các truy vấn lặp lại sẽ được thực hiện mỗi khi chế độ xem được truy cập. Ban đầu, SQLite được mặc định là "KHÔNG ĐƯỢC VẬT LIỆU" nhưng bây giờ đã được đổi thành "VẬT LIỆU HÓA" cho các CTE được sử dụng nhiều lần.

Những thay đổi khác nổi bật so với phiên bản mới này:

  • Giảm tiêu thụ bộ nhớ khi thực hiện các hoạt động VACUUM cho cơ sở dữ liệu bao gồm các giá trị rất lớn với kiểu TEXT hoặc BLOB.
  • Công việc đã được thực hiện để tăng hiệu suất của trình tối ưu hóa và trình lập lịch truy vấn.
  • Tối ưu hóa đã được thêm vào khi sử dụng hàm min và max với biểu thức "IN".
  • Việc thực thi câu lệnh EXISTS đã được đẩy nhanh.
  • Việc mở rộng các truy vấn con của biểu thức UNION ALL được sử dụng trong JOIN được thực hiện.
  • Chỉ mục được sử dụng cho biểu thức KHÔNG ĐẦY ĐỦ.
  • Chuyển đổi "x IS NULL" và "x IS NOT NULL" thành FALSE hoặc TRUE được cung cấp cho các cột có cờ "NOT NULL".
  • Kiểm tra khóa ngoại trong UPDATE bị bỏ qua nếu thao tác không thay đổi các cột được liên kết với khóa ngoại.
  • Cho phép chuyển các phần của mệnh đề WHERE sang truy vấn con chứa các hàm cửa sổ nếu các phần này bị giới hạn ở việc làm việc với các hằng số và bản sao của các biểu thức mệnh đề "PARTITION BY" được sử dụng trong các hàm cửa sổ.

Các thay đổi đối với giao diện dòng lệnh:

  • Đã thêm lệnh ".filectrl data_version".
  • Các lệnh ".once" và ".output" bổ sung hỗ trợ truyền đầu ra tới bộ điều khiển được gọi bằng cách sử dụng các đường ống không tên ("|").
  • Lệnh ".stats" đã thêm các đối số "stmt" và "vmstep" để hiển thị thống kê trên bộ đếm và biểu thức máy ảo.

Cuối cùng nếu bạn muốn biết thêm về nó về phiên bản SQLite mới này, bạn có thể kiểm tra chi tiết bằng cách truy cập liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.