SQLite 3.35 dilengkapi dengan fungsi matematik terbina dalam dan banyak lagi

Keluaran SQLite 3.35 telah diterbitkan dan dalam siaran baru pengurus pangkalan data ini penambahan fungsi matematik diserlahkan, serta sokongan untuk ungkapan ALTER TABLE DROP COLUMN untuk menjatuhkan lajur dari jadual, operasi yang lebih baik, dan banyak lagi.

Bagi mereka yang tidak biasa dengan pakej SQLite ia adalah DBMS ringan, direka sebagai perpustakaan pemalam. Kod SQLite diedarkan sebagai domain awam, iaitu, ia dapat digunakan tanpa sekatan dan percuma untuk tujuan apa pun.

Ciri baru utama SQLite 3.35

Seperti yang disebutkan di awal, dalam versi baru ini fungsi matematik terbina dalam ditambah (log2 (), cos (), tg (), exp (), ln (), pow (), dll.) yang boleh digunakan dalam SQL. Untuk mengaktifkan fungsi terbina dalam, pemasangan dengan pilihan "-DSQLITE_ENABLE_MATH_FUNCTIONS" diperlukan.

Expression "ALTER TABLE DROP COLUMN" kini menyokong untuk menjatuhkan lajur dari meja dan hapus data yang sebelumnya disimpan di lajur ini.

Pelaksanaan operasi UPSERT (tambah atau ubah suai), yang membolehkan anda menggunakan ungkapan seperti "INSERT ON CONFLICT DO NOTHING / UPDATE" untuk mengabaikan ralat atau melakukan kemas kini daripada memasukkan jika mustahil untuk menambahkan data melalui "INSERT" (sebagai contoh, jika rekod, UPDATE boleh dilakukan dan bukannya MASUK).

Dalam versi baru, dibenarkan untuk menentukan beberapa blok «DALAM KONFLIK«, Yang akan diproses mengikut urutan. Pada blok "ON CONFLICT" terakhir, dibenarkan untuk tidak menentukan parameter definisi konflik untuk menggunakan "DO UPDATE".

Operasi DELETE, INSERT dan UPDATE menyokong ungkapan RETURNING, yang boleh digunakan untuk memaparkan kandungan rekod yang dihapus, dimasukkan, atau diubah. Contohnya, "masukkan ke ... ID pengembalian" akan mengembalikan pengenal baris yang ditambahkan, dan "kemas kini ... tetapkan harga = harga * 1.10 harga kembali" akan mengembalikan nilai harga yang dikemas kini.

Untuk ungkapan jadual umum (Common Table Expression, CTE), yang memungkinkan penggunaan set hasil bernama sementara, menggunakan DENGAN meminta operator, menyetujui pilihan mod «MATERIALISED» dan «NOT MATERIALISED».

  1. "MATERIALISED" bermaksud menyimpan pertanyaan yang ditentukan dalam paparan dalam jadual fizikal yang terpisah dengan pengambilan data seterusnya dari jadual ini.
  2. Dan dengan "TIDAK DIPEROLEHI", pertanyaan berulang akan dilakukan setiap kali paparan diakses. Pada mulanya, SQLite secara lalai menjadi "TIDAK MATERIALISASI" tetapi kini telah diubah menjadi "MATERIALISASI" untuk CTE yang digunakan lebih dari sekali.

Daripada perubahan yang lain yang menonjol dari versi baru ini:

  • Pengurangan penggunaan memori semasa menjalankan operasi VACUUM untuk pangkalan data yang merangkumi nilai yang sangat besar dengan jenis TEXT atau BLOB.
  • Kerja telah dilakukan untuk meningkatkan prestasi pengoptimum dan penjadual pertanyaan.
  • Pengoptimuman ditambahkan ketika menggunakan fungsi min dan max dengan ungkapan "IN".
  • Pelaksanaan penyataan EXISTS telah dipercepat.
  • Perluasan subkueri ungkapan UNION ALL yang digunakan dalam JOIN dilaksanakan.
  • Indeks yang digunakan untuk ungkapan TIDAK NULL.
  • Penukaran "x IS NULL" dan "x TIDAK NULL" menjadi PALSU atau BENAR disediakan untuk lajur dengan bendera "NOT NULL".
  • Pemeriksaan kunci asing dalam UPDATE dilewati jika operasi tidak mengubah lajur yang berkaitan dengan kunci asing.
  • Memindahkan bahagian klausa WHERE ke subkueri yang mengandungi fungsi tetingkap dibenarkan jika bahagian ini terhad untuk bekerja dengan pemalar dan salinan ungkapan klausa "PARTITION BY" yang digunakan dalam fungsi tetingkap.

Perubahan pada antara muka baris arahan:

  • Menambah arahan ".filectrl data_version".
  • Perintah ".once" dan ".output" menambahkan sokongan untuk meneruskan output ke pengawal yang dipanggil menggunakan paip tanpa nama ("|").
  • Perintah ".stats" menambahkan argumen "stmt" dan "vmstep" untuk memaparkan statistik di kaunter dan ungkapan mesin maya.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya mengenai versi baru SQLite ini, anda boleh menyemak perinciannya dengan pergi ke pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.