SQLite 3.35 faʻamalolo

O le tatalaina o le SQLite 3.35, o se DBMS mama ua mamanuina e avea ma faletusi faʻapipiʻi, ua lomia. O le SQLite code o loʻo tufatufaina i le lautele lautele, i.e. e mafai ona fa'aoga e aunoa ma ni tapula'a ma e leai se totogi mo so'o se fa'amoemoe. Lagolago tau tupe mo SQLite atiaʻe e tuʻuina atu e se faʻasalalauga faʻapitoa, lea e aofia ai kamupani e pei o Adobe, Oracle, Mozilla, Bentley ma Bloomberg.

Suiga autu:

  • Fa'aopoopo galuega fa'akomepiuta (log2(), cos(), tg(), exp(), ln(), pow(), etc.) e mafai ona fa'aoga ile SQL. O le fa'aogaina o galuega fa'apipi'i e mana'omia ai le faufale i le "-DSQLITE_ENABLE_MATH_FUNCTIONS" filifiliga.
  • Fa'atino le lagolago mo le fa'aaliga "ALTER TABLE DROP COLUMN" e aveese ai koluma mai se laulau ma fa'amanino fa'amaumauga sa teu muamua i se koluma.
  • O le faʻatinoga o le UPSERT (add-or-modify) faʻagaioiga ua faʻalauteleina, faʻatagaina e ala i faʻamatalaga e pei o le "INSERT ... ON CONFLICT DO NOTHING / UPDATE" e le amanaiaina se mea sese pe faia se faʻafouga nai lo le faʻaofiina pe a le mafai ona faʻaopoopo. fa'amatalaga e ala i le "INSERT" (mo se fa'ata'ita'iga, afai o lo'o i ai se fa'amaumauga, nai lo le INSERT e mafai ona e fa'atinoina le UPDATE). O le lomiga fou e mafai ai ona e faʻamaonia le tele ON CONFLICT poloka, lea o le a faʻagasolo i le faasologa. O le poloka mulimuli "ON CONFLICT" e fa'atagaina ai le fa'ai'uga o le fa'ai'uga o fete'ena'iga ina ia fa'aaoga le "FAIA FA'AVAE".
  • O fa'agaioiga DELETE, INSERT ma UPDATE e lagolagoina le fa'aaliga RETURNING, lea e mafai ona fa'aoga e fa'aalia ai mea o lo'o i totonu o se fa'amaumauga ua tapeina, fa'aofiina pe fa'afou. Mo se faʻataʻitaʻiga, o le faaupuga "faʻaofi i totonu ... toe faʻafoʻi id" o le a toe faʻafoʻi mai ai le faʻamatalaga o le laina faʻaopoopo, ma "faʻafouina ... seti tau = tau * 1.10 toe faʻafoʻi" o le a toe faʻafoʻi le tau suia.
  • Mo fa'amatalaga masani o laulau (CTE), lea e fa'ataga ai le fa'aogaina o seti fa'ai'uga le tumau ua fa'ailoa mai e fa'aaoga ai le fa'amatalaga WITH, e fa'atagaina le filifiliga o le "MATERIALIZED" ma le "NOT MATERIALIZED". "MATERIALIZED" o lona uiga o le teuina o le fesili o loʻo faʻamaoti mai i le vaʻaiga i se isi laulau faʻapitoa ona aumai lea o faʻamatalaga mai lenei laulau, ma faʻatasi ai ma le "NOT MATERIALIZED" toe fai fesili o le a faia i taimi uma e maua ai le vaaiga. O le SQLite na muamua fa'aletonu i le "NOT MATERIALIZED", ae ua suia nei i le "MATERIALIZED" mo CTE na fa'aaogaina e sili atu ma le tasi.
  • Faʻaitiitia le faʻaogaina o mafaufauga pe a faʻatino se VACUUM faʻaogaina i luga o faʻamaumauga e aofia ai le TEXT poʻo le BLOB lapoʻa tele.
  • Ua mae'a galuega e fa'atuputeleina ai le fa'atinoga o le optimizer ma le su'esu'ega fuafuaga:
    • Fa'aopoopo mea fa'apitoa pe a fa'aogaina le min ma le maualuga galuega fa'atasi ma le fa'aaliga "IN".
    • Ua faatelevaveina le faatinoga o le faamatalaga EXISTS.
    • Fa'atinoina le fa'alauteleina o subqueries mai fa'amatalaga UNION ALL fa'aoga o se vaega ole SOI.
    • O le faasino igoa e faʻaaogaina mo faʻamatalaga IS NOT NULL.
    • Ia mautinoa o le "x IS NULL" ma le "x IS NOT NULL" ua liua i le FALSE poʻo le TRUE mo koluma e iai le uiga "NOT NULL".
    • Fa'ase'e le siakiina o ki mai fafo i le UPDATE pe afai e le suia e le taotoga ia koluma e fesoʻotaʻi ma le ki mai fafo.
    • E fa'atagaina ona fa'anofoina vaega o se poloka WHERE i subqueries o lo'o i ai galuega fa'amalama, pe a fa'atapula'a na vaega i le galulue fa'atasi ma kopi o fa'amatalaga mai poloka PARTITION BY o lo'o fa'aogaina i galuega fa'amalama.
  • Suiga ile laina fa'atonuga:
    • Faʻaopoopo le ".filectrl data_version" poloaiga.
    • O le ".once" ma le ".output" o lo'o lagolagoina nei le tu'uina atu o galuega i se tagata e ta'ua o le fa'aaogaina o paipa e le'i ta'ua ("|").
    • O le "stmt" ma le "vmstep" finauga ua faaopoopo i le ".stats" poloaiga e faʻaalia ai fuainumera i faʻamatalaga ma masini masini komepiuta.

puna: opennet.ru

Faaopoopo i ai se faamatalaga