RačunalnikiBaze podatkov

"Pasti" DML-Team Update MySQL

Vsak programer, ki je imel za delo s podatkovnimi bazami, ki se sooča z DML operaterji (prevedeno iz angleškega jezika - .. "Data Manipulation Language"), kot je Select, Insert, Delete in Update. MySQL prometu uporablja tudi svoj arzenal vseh zgornjih ukazov.

Te izjave so logično govorimo o njegovem imenovanju - izbiro zapisov, vstavite nove vrednosti, posodabljanje obstoječe podatke, popoln, ali v skladu z določenimi pogoji, odstranitev podatkov v bazi podatkov. Teoretični gradiva za usposabljanje so podrobno opisani v načela delovanja vsakega ukaza in njihovo sintakso, vendar nikjer našel sklicevanja na težave, ki lahko nastanejo v praksi pri uporabi. To gradivo bo namenjen obravnavi nekatere od njih.

Na kratko o DML-izjav (Insert)

Pred nadaljevanjem je treba ponovno opozoriti, več podrobnosti o namen vsake funkcije. Imeli bomo dve operaterji zanimajo podrobneje: Insert in Posodobitev, saj je od njih odvisna izpeljavo glavne težave v obdelavo velikih količin podatkov.

Ti se morajo začeti z ukazom Insert, nato pa postopoma premakniti na Update. MySQL sistem, tako kot vse druge sodobne baze podatkov, uporabite operacijo Insert za dodajanje novih zapisov na obstoječo tabel baze podatkov. Sintaksa te operacije je zelo preprosta in enostavna. Vsebuje seznam področij, ki bodo sprejete na vrednosti, v okolici - ime tabele - in takoj uvedla seznam podatkov. Vsakič, ko izvedete baze podatkov Insert bo posodobljen z novimi vrednotami.

izjava Update

Vendar pa v praksi pogosto obstajajo situacije, ki bi za nekatere niz podatkov enega ali več atributov se spremenil. Kot primer, v položaju, v katerem je bila družba reforme z nadaljnjim preimenovanju glavnih oddelkov. V tem primeru je potrebno narediti spremembe, za vsak oddelek. Če bi le spremenili ime, potem je problem treba rešiti zelo hitro. Vendar, če spremenite kodiranje vsakega sestavnega dela celotne proizvodnje, ki običajno služi kot primarni ključ, ki je v zameno za posledico spremembe podatkov in za vsakega zaposlenega.

Update - DML-operater je mogoče uporabiti za reševanje tega problema. MySQL- strežnik, ki deluje z velikim številom prijav, s pomočjo stavka posodobitve, izvršiti potrebne poizvedbe in rešiti problem. Ampak včasih pride v posodobitev ni povsem jasen in ga je težko razložiti kompleksnost. To je tisto, kar povzroča težave evidenc posodobljenih, se bo še razpravljalo.

Kaj malo je bilo rečeno v teoriji ...

Update ekipe, kot je navedeno zgoraj, se uporablja za posodobitev obstoječe zapise v tabeli. Toda v praksi stranke dostopajo do strežnikov baze podatkov niso vedno znani, obstaja določen nabor podatkov v tabelah ali ne. Predhodno preverite razpoložljivost podatkov v zbirki podatkov za nadaljnje posodabljanje rezultatov v dolgotrajen in odpadki strežniških zmogljivosti.

Da bi se temu izognili, v posebnem podatkovne baze MySQL strukture - Insert * Update, v katerem je vložek ali posodobitev lahko izvede neodvisno drug od drugega. To je, ko je tabela vnos za določeno stanje, bo posodobljen. Če se podatki ne bo mogoče najti pogoji šteje, MySQL-strežnik je sposoben opravljati podatkov nalaganja zahtevo.

posodabljanje podatkov, če obstajajo dvojniki

Pomemben del tega Insert - zahteva sistem za upravljanje podatkovne baze MySQL - «Na dvojnik Key Update» predpono. Celoten sintakso poizvedbe je, kot sledi: "vstavite v test_table (employer_id, ime) vrednosti ( 1, 'Abramov) na podvojene ključne posodobitve LAST_MODIFIED = NOW (); ".

Tak zahtevek se lahko uporablja za snemanje dejanja, na primer, določi časovni podjetje v križišče prehod sledi štetje časovni interval in zamudo detekcije. Da, da, ne tabeli nekaj zapisov, dovolj za vsakega zaposlenega tako, da vodi evidenco z nenehno posodabljanje. To je dvojnik pregled dizajn to omogoča.

Pravzaprav težave ...

Glede na zgornji primer tožbe osebja za registracijo na vhodu, saj problem je uporaba samouvelichivayuschihsya (auto _ prirastka) polja, ki se običajno uporabljajo za polnjenje primarnih ključnih vrednot (primarni _ ključ). Če uporabljate MySQL ukaz Update v oblikovanju s prilogo auto _ prirastek, polje se stalno povečuje.

Prav tako je vse, kar se zgodi, ko se uporabi nadomestno gradnjo v primeru podvojene odkritja. "Auto-prirastek" vrednost se poveča tudi v primeru, ko ni potrebna. Zaradi tega pride do težav vrednosti pretočnih prelaz ali območja, ki nato vodijo do motenj v delovanju sistemov za upravljanje podatkovnih baz.

Najverjetneje je problem

Opisuje problem je treba obravnavati Web-razvijalci, saj je najbolj pogosta pri sistemih z več uporabnikov (spletne strani, portalov, in tako naprej. P.), ko se sistem izvede veliko število postopkov Insert in posodobitev MySQL.

PHP - pritožba na podlago zelo pogosto izvajajo. Zato, da bi dosegli najvišje marže, ki so opredeljene kot auto_increment, hitro pride do tega, in pri analizi težave s katerimi se srečujejo ugotoviti razloge le ne bo delovala.

Zato so razvijalci spodbuja, da biti pozorni na uporabo modela za dvojnik ključa v posodobitev ukaz mysql. izberite - poizvedbe pri dostopu podatkovni strežnik bo deloval brez napak, ampak dodajanje novih zapisov v bazi podatkov je polna neprijetne situacije v prihodnosti vodi do resnih težav. Druga možnost je, je priporočljivo za avto-prirastka polja najprej preverite svoje evidence, in jih nato držite posodobljena.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sl.unansea.com. Theme powered by WordPress.