SQLite 3.35 kommer med nye innebygde matematiske funksjoner og mer

SQLite 3.35-utgivelse er utgitt og i denne nye utgivelsen av denne databasesjefen matematiske funksjonstillegg er uthevet, i tillegg til støtte for ALTER TABLE DROP COLUMN-uttrykket for å slippe kolonner fra en tabell, forbedrede operasjoner og mer.

For de som ikke er kjent med SQLite-pakken det er en lett DBMS, designet som et plugin-bibliotek. SQLite-koden distribueres som offentlig domene, det vil si at den kan brukes uten begrensninger og gratis til ethvert formål.

De viktigste nye funksjonene i SQLite 3.35

Som nevnt i begynnelsen, i denne nye versjonen innebygde matematiske funksjoner lagt til (log2 (), cos (), tg (), exp (), ln (), pow (), etc.) som kan brukes i SQL. For å aktivere de innebygde funksjonene, kreves en samling med alternativet "-DSQLITE_ENABLE_MATH_FUNCTIONS".

Expression "ALTER TABLE DROP COLUMN" støtter nå å slippe kolonner fra en tabell og slette data som tidligere er lagret i denne kolonnen.

Implementeringen av UPSERT-operasjonen (legge til eller endre), som lar deg bruke uttrykk som "INSERT ON CONFLICT DO NOTHING / UPDATE" for å ignorere en feil eller utføre en oppdatering i stedet for å sette inn hvis det er umulig å legge til data via "INSERT" (for eksempel hvis en post, kan UPDATE gjøres i stedet for INSERT).

I den nye versjonen er det lov å spesifisere flere blokker «I KONFLIKT«, Som vil bli behandlet i rekkefølge. I den siste "PÅ KONFLIKT" -blokken er det tillatt å ikke spesifisere konfliktdefinisjonsparameteren for å bruke "DO UPDATE".

Operasjonene SLETT, INSERT og UPDATE støtter RETURNING-uttrykket, som kan brukes for å vise innholdet i en slettet, innsatt eller endret post. For eksempel vil "sett inn i ... retur-ID" returnere den tilføyde radidentifikatoren, og "oppdater ... sett pris = pris * 1.10 returpris" returnerer verdien av den oppdaterte prisen.

For generaliserte tabelluttrykk (Common Table Expression, CTE), som tillater bruk av tidsmessig navngitte resultatsett, ved bruk av MAT spurte operatøren, godkjente valget av moduser «MATERIALISERT» og «IKKE MATERIALISERT».

  1. "MATERIALISERT" betyr å cache spørringen spesifisert i visningen i en egen fysisk tabell med påfølgende henting av data fra denne tabellen.
  2. Og med "IKKE MATERIALISERT" vil gjentatte spørsmål utføres hver gang visningen er tilgjengelig. I utgangspunktet var SQLite som standard ikke "IKKE MATERIALISERT", men er nå endret til "MATERIALISERT" for CTE-er som brukes mer enn en gang.

Av de andre endringene som skiller seg ut fra denne nye versjonen:

  • Redusert minneforbruk når du utfører VACUUM-operasjoner for databaser som inneholder svært store verdier med TEXT- eller BLOB-typer.
  • Det er arbeidet med å øke ytelsen til optimalisereren og spørringsplanleggeren.
  • Optimaliseringer ble lagt til når du brukte min- og max-funksjonene med uttrykket "IN".
  • Gjennomføringen av EXISTS-uttalelsen har blitt satt fart.
  • Utvidelsen av underspørringene til UNION ALL-uttrykkene som brukes i JOIN er implementert.
  • Indeks brukt for IS NOT NULL uttrykk.
  • Konvertering av "x IS NULL" og "x IS NOT NULL" til FALSE eller TRUE ble gitt for kolonner med "NOT NULL" -flagget.
  • Utenlandsk nøkkelen i UPDATE hoppes over hvis operasjonen ikke endrer kolonnene som er tilknyttet den utenlandske nøkkelen.
  • Det er tillatt å flytte deler av WHERE-leddet til underforespørsler som inneholder vindusfunksjoner hvis disse delene er begrenset til å arbeide med konstanter og kopier av "PARTITION BY" -uttrykk som brukes i vindusfunksjoner.

Endringer i kommandolinjegrensesnittet:

  • Lagt til kommandoen ".filectrl data_version".
  • Kommandoene ".once" og ".output" la til støtte for å sende utgangen til en kalt kontroller ved hjelp av ikke-navngitte rør ("|").
  • Kommandoen ".stats" la til "stmt" og "vmstep" -argumentene for å vise statistikk over virtuelle maskintellere og -uttrykk.

Endelig hvis du er interessert i å vite mer om det om denne nye versjonen av SQLite, kan du sjekke detaljene ved å gå til følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.