PočítačeDatabázy

"Úskalia" DML-Team aktualizácia MySQL

Každý programátor, ktorý mal pracovať s databázami, tvárou v tvár s DML-operátorov (preložené z angličtiny - .. "Data Manipulation Language"), ako sú Select, Insert, Delete a Aktualizácie. MySQL-transport taktiež používa svoj arzenál všetkých vyššie uvedených príkazov.

Tieto vyhlásenia sú logicky hovorí o jeho menovaní - výber záznamov, vložte nové hodnoty, aktualizáciu existujúcich dát, kompletné, alebo v súlade so stanovenými podmienkami, odstránenie informácií v databáze. Teoretické školiace materiály sú podrobne popísané v princípe činnosti jednotlivých príkazov a ich syntaxe, ale nikde nájsť odkazy na ťažkosti, ktoré môžu nastať v praxi pri používaní. Tento materiál bude venovaná zváženie niektoré z nich.

Stručne o DML-vyhlásenia (Insert)

Pred ďalším postupom treba znova pripomenúť, ďalšie podrobnosti o účele jednotlivých funkcií. Budeme mať dva operátori majú záujem bližšie: Insert a Update, pretože to záleží na nich odvodiť hlavné problémy pri spracovaní veľkých objemov dát.

Je potrebné začať s príkazom Insert, a potom postupne prejsť na Update. MySQL systém, ako každý iný moderný databázu, použiť operáciu Insert na pridanie nových záznamov do existujúcich tabuliek databázy. Syntax tejto operácie je veľmi jednoduchá a priamočiara. Obsahuje zoznam oblastí, ktoré sa vykonajú na základe hodnoty, určenie - názov tabuľky - a okamžite predstavil zoznam dát. Zakaždým, keď budete vykonávať databáze Insert bude aktualizovaný s novými hodnotami.

príkaz UPDATE

Avšak, v praxi pomerne často dochádza k situáciám, že z nejakého súboru dát jednu alebo viac hodnôt atribútov, ktoré majú byť aktualizované. Ako príklad možno uviesť, čo je situácia, kedy spoločnosť bola reforme s ďalším premenovanie hlavných oddelení. V tomto prípade je nutné vykonať zmeny pre každé oddelenie. Keby len zmena názvu, potom tento problém môže byť vyriešený veľmi rýchlo. Ak však zmena kódovanie každej zložky celej výroby, ktoré zvyčajne slúžia ako primárny kľúč, ktorý je zase znamená zmeny informácií a pre každého zamestnanca.

Aktualizácia - DML-operátor možno použiť na vyriešenie tohto problému. MySQL- server pracujúci s veľkým počtom záznamov, pomocou príkazu aktualizácie, vykonať požadovaný dotaz a vyriešiť problém. Ale niekedy dôjsť počas aktualizácie nie je celkom jasný a ťažké vysvetliť zložitosť. To je to, čo spôsobuje, že je ťažké záznamov aktualizované, budú ďalej diskutované.

To málo, čo bolo povedané v teórii ...

Aktualizácia Team, ako je uvedené vyššie, sa používa k aktualizácii existujúcich záznamov v tabuľke. Ale v praxi, klienti prístup k databáze servery nie sú vždy známe, existuje určitá množina dát v tabuľkách alebo nie. Predbežný zistiť dostupnosť dát do databázy pre následnú aktualizáciu výsledkov v časovo náročné a plytvanie serverových funkcií.

Aby sa tomu zabránilo, v osobitnej databáze MySQL štruktúru - Insert * Update, v ktorom vložka alebo aktualizácie môže byť vykonaná nezávisle na sebe. To je, keď má tabuľka položka pre špecifické podmienky, budú aktualizované. V prípade, že dáta nebudú zistené, že požiadavky považované, MySQL-server je schopný vykonávať dátové Nahrávanie pomocou požiadavke.

aktualizovať dáta v prípade, že sú duplikáty

Dôležitou zložkou tohto príbalového letáku - požiadavka na systéme pre správu databáz MySQL - «Na Duplicitné Key Update» prefixom. Kompletné syntaxe dotazu je nasledujúci: «vložiť do test_table (employer_id, meno) hodnôt ( 1,, Abramov ') na duplikátu kľúče aktualizáciu LAST_MODIFIED = NOW (); ".

Takáto požiadavka môže byť použitý pre záznam akcie, napríklad stanovenie časového podnik priesečník priechodu nasledované počítaním časového intervalu a oneskorenie detekcie. Aby nedošlo, aby stole niekoľko záznamov, čo je dosť pre každého zamestnanca viesť záznamy s priebežnou aktualizáciu. Je duplicitné kontrola Design umožňuje.

Vlastne problémy ...

S ohľadom na vyššie uvedený príklad akcie zamestnancov registrácii pri vchode, pretože problém je použitie samouvelichivayuschihsya (auto _ prírastok) pole, ktoré sa zvyčajne používajú na vyplnenie hodnoty primárneho kľúča (primárny _ kľúč). Ak používate MySQL príkazu Aktualizovať v prevedení s vložkou auto _ prírastok pole sa neustále zvyšuje.

Rovnako tak, všetko sa deje pri použití náhradného konštrukcia v prípade duplikátu detekcie. Hodnota "Auto-inkrementácia" sa zvyšuje aj v prípade, že to nie je potrebné. Z tohto dôvodu vznikajú problémy hodnoty pretečeniu priepusty alebo rozsahy, ktoré následne vedú k poruche systémov pre správu databáz.

S najväčšou pravdepodobnosťou je problém

Popisuje problém treba považovať Web-vývojári, pretože to je najbežnejšie v multi-užívateľských systémov (webové stránky, portály, a tak ďalej. P.) Keď je systém spustený veľký počet postupov Insert a aktualizovať MySQL.

PHP - odvolanie k základni veľmi často vykonáva. Z tohto dôvodu, aby sa dosiahla maximálna rozpätie, ktoré sú definované ako auto_increment, nastáva rýchlo a v analýze ťažkostí, ku ktorým je vytvorenie hlavných dôvodov, jednoducho nebude fungovať.

Preto sa vývojári sa odporúča dávať pozor na používanie dizajnu na duplicitného kľúče v aktualizácii príkaz mysql. vyberte - otázky pri prístupe databázový server bude pracovať bez chýb, ale pridanie nových záznamov do databázy je plná nepríjemných situácií v budúcnosti viesť k vážnym problémom. Inak sa odporúča pre automatické prírastok poľa najprv skontrolovať svoje záznamy, a potom držať je aktualizovaný.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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