SQLite 3.35 inouya neyakavakirwa-mukati masvomhu mabasa uye nezvimwe

SQLite 3.35 kuburitswa kwaburitswa uye mukuburitswa kutsva kweiyi database maneja masvomhu basa rekuwedzera zvinoratidzwa, pamwe nerutsigiro rwe ALTER TABLE DROP COLUMN expression yekudonhedza makoramu kubva patafura, mabasa akavandudzwa, nezvimwe.

Kune avo vasingazive neiyo SQLite package iyo isingaremi DBMS, Yakagadzirwa sedura raibhurari. Iyo SQLite kodhi inogoverwa senzvimbo yeruzhinji, ndiko kuti, inogona kushandiswa pasina zvirambidzo uye mahara kune chero chinangwa.

Main nyowani maficha eSQLite 3.35

Sezvambotaurwa pakutanga, mune iyi vhezheni itsva yakavakwa-mumathematics mabasa akawedzerwa (log2 (), cos (), tg (), exp (), ln (), pow (), etc.) iyo inogona kushandiswa muSQL. Kugonesa iyo yakavakirwa-mukati mabasa, gungano ine "-DSQLITE_ENABLE_MATH_FUNCTIONS" sarudzo inodiwa.

Mashoko acho "ALTER TABLE DROP COLUMN" ikozvino inotsigira kudonhedza makoramu kubva patafura uye bvisa data rakambochengetwa mukoramu iyi.

Kuitwa kweUPSERT mashandiro (wedzera kana shandura), iyo inokutendera iwe kushandisa zvirevo sekuti "INSERT ON CONFLICT DO NOTHING / UPDATE" kufuratira kukanganisa kana kuita yekuvandudza pane kuisa kana zvisingaiti kuwedzera data kuburikidza ne "INSERT" (semuenzaniso, kana rekodhi, UPDATE inogona kuitwa panzvimbo yeINSERT).

Mune vhezheni itsva, inobvumidzwa kudoma akati wandei mabhuroko «PAKUKONZANA«, Izvo zvichagadziriswa nenzira. Mune yekupedzisira "ON KONZANA" block, zvinotenderwa kusadoma gakava dudziro paramende yekushandisa "DO UPDATE".

Iko mashandiro Bvisa, INSERT uye UPDATE tsigira iyo DZIDZO yekutaura, iyo inogona kushandiswa kuratidza zvirimo zvakabviswa, kuiswa, kana kushandurwa rekodhi. Semuenzaniso, "isa mu ... inodzosa ID" inodzosera yakawedzera mutsara chiratidzo, uye "gadziridza ... seti mutengo = mutengo * 1.10 mutengo unodzoka" unodzosera kukosha kwemutengo wakagadziridzwa

Nezve generalized tafura yekutaura (Yakajairika Tafura Yekuratidzira, CTE), iyo inobvumidza kushandiswa kwechinguva chakatumidzwa mhedzisiro seti, uchishandisa WITH yakabvunza opareta, yakabvumira kusarudzwa kwema modhi «MATERIALIZED» uye «HASINA MATERIALIZED».

  1. "MATERIALIZED" zvinoreva kuburitsa mubvunzo wakatsanangurwa muchiono mune imwe tafura yemuviri nekutora data kubva patafura iyi.
  2. Uye ne "ZVISINA MERIALIZED", inodzokororwa mibvunzo ichaitwa pese panowonekwa maonero. Pakutanga, SQLite yakadzikira ku "HAIYE MATERIALIZED" asi izvozvi yachinjirwa ku "MATERIALIZED" emaCTE anoshandiswa kanopfuura kamwe.

Yeimwe shanduko izvo zvinoratidzika kubva pane iyi nyowani vhezheni:

  • Yakaderedzwa ndangariro yekushandisa paunenge uchiita VACUUM mashandiro edatabhesi anosanganisira akakura kwazvo maitiro ane TEXT kana BLOB mhando.
  • Basa rakaitwa kuti riwedzere kushanda kweye optimizer uye yemubvunzo murongi.
  • Optimizations akawedzerwa kana uchishandisa iyo min uye max mabasa neshoko rekuti "IN".
  • Kuitwa kwechirevo cheVANHU kwakakurumidza.
  • Kuwedzeredzwa kweiyo subqueries yeUNION ZVESE zvirevo zvinoshandiswa muJOIN zvinoitwa.
  • Index yakashandiswa IZVI HAZVI NULL kutaura.
  • Shanduko ye "x IS NULL" uye "x HAZVI NULL" kuita FALSE kana TRUE yakapihwa makoramu ane "NOT NULL" mureza.
  • Iko yekunze kiyi cheki mu UPDATE yakasvetuka kana mashandiro asingachinje makoramu ane hukama nekiyi yekune imwe nyika.
  • Kufambisa zvikamu zve WHERE chirevo kune zvinyorwa zvine mawindo mabasa zvinotenderwa kana zvikamu izvi zvichingogumira mukushanda nemakondinendi uye makopi e "CHIKAMU NE" chirevo chirevo chinoshandiswa mumawindo mashandiro.

Shanduko kune yekuraira mutsara interface:

  • Wakawedzera ".filectrl data_version" rairo.
  • Iwo ".once" uye ".output" mirairo yakawedzera rutsigiro rwekupfuudza zvabuda kune anonzi controller uchishandisa mapaipi asina zita ("|").
  • Iyo ".stats" yekuraira yakawedzera iyo "stmt" uye "vmstep" nharo kuratidza maverengero pane chaiwo michina makomendi uye zvirevo.

Finalmente kana iwe uchifarira kuziva zvakawanda nezvazvo nezve iyi nyowani vhezheni yeSQLite, unogona kutarisa ruzivo nekuenda kunotevera chinongedzo.