PočítačeDatabáze

"Úskalí" DML-Team aktualizace MySQL

Každý programátor, který měl pracovat s databázemi, tváří v tvář s DML-operátorů (přeloženo z angličtiny - .. „Data Manipulation Language“), jako jsou Select, Insert, Delete a Aktualizace. MySQL-transport také používá svůj arzenál všech výše uvedených příkazů.

Tato prohlášení jsou logicky mluví o jeho jmenování - výběr záznamů, vložte nové hodnoty, aktualizaci stávajících dat, kompletní, nebo v souladu se stanovenými podmínkami, odstranění informací v databázi. Teoretické školicí materiály jsou podrobně popsány v principu činnosti jednotlivých příkazů a jejich syntaxe, ale nikde nalézt odkazy na obtíže, které mohou nastat v praxi při používání. Tento materiál bude věnována zvážení některé z nich.

Stručně o DML-prohlášení (Insert)

Před dalším postupem je třeba znovu připomenout, další podrobnosti o účelu jednotlivých funkcí. Budeme mít dva operátoři mají zájem blíže: Insert a Update, protože to záleží na nich odvodit hlavní problémy při zpracování velkých objemů dat.

Je třeba začít s příkazem Insert, a pak postupně přejít na Update. MySQL systém, jako každý jiný moderní databázi, použít operaci Insert k přidání nových záznamů do existujících tabulek databáze. Syntaxe této operace je velmi jednoduchá a přímočará. Obsahuje seznam oblastí, které budou provedeny na základě hodnoty, určení - název tabulky - a okamžitě představil seznam dat. Pokaždé, když budete provádět databázi Insert bude aktualizován s novými hodnotami.

Příkaz UPDATE

Nicméně, v praxi poměrně často dochází k situacím, že z nějakého souboru dat jednu nebo více hodnot atributů, které mají být aktualizovány. Jako příklad lze uvést, což je situace, kdy společnost byla reformě s dalším přejmenování hlavních oddělení. V tomto případě je nutné provést změny pro každé oddělení. Kdyby jen změna názvu, pak tento problém může být vyřešen velmi rychle. Pokud však změna kódování každé složky celé výroby, které obvykle slouží jako primární klíč, který je zase znamená změny informací a pro každého zaměstnance.

Aktualizace - DML-operátor lze použít k vyřešení tohoto problému. MySQL- server pracující s velkým počtem záznamů, pomocí příkazu aktualizace, provést požadovaný dotaz a vyřešit problém. Ale někdy dojít během aktualizace není zcela jasný a těžké vysvětlit složitost. To je to, co způsobuje, že je obtížné záznamů aktualizovány, budou dále diskutovány.

To málo, co bylo řečeno v teorii ...

Aktualizace Team, jak je uvedeno výše, se používá k aktualizaci existujících záznamů v tabulce. Ale v praxi, klienti přístup k databázi servery nejsou vždy známy, existuje určitá množina dat v tabulkách či nikoliv. Předběžný zjistit dostupnost dat do databáze pro následnou aktualizaci výsledků v časově náročné a plýtvání serverových funkcí.

Aby se tomu zabránilo, ve zvláštní databázi MySQL strukturu - Insert * Update, ve kterém vložka nebo aktualizace může být provedena nezávisle na sobě. To je, když má tabulka položka pro zvláštní podmínky, budou aktualizovány. V případě, že data nebudou zjištěno, že podmínky považované, MySQL-server je schopen provádět datové Nahrávání pomocí požadavku.

aktualizovat data v případě, že jsou duplikáty

Důležitou složkou tohoto příbalového letáku - požadavek na systému pro správu databází MySQL - «Na Duplicitní Key Update» prefixem. Kompletní syntaxe dotazu je následující: «vložit do test_table (employer_id, jméno) hodnot ( 1,‚Abramov‘) na duplikátu klíče aktualizaci last_modified = NOW (); “.

Takový požadavek může být použit pro záznam akce, například stanovení časového podnik průsečík průchodu následované počítáním časového intervalu a zpoždění detekce. Aby nedošlo, aby stole několik záznamů, což je dost pro každého zaměstnance vést záznamy s průběžnou aktualizaci. Je duplicitní kontrola Design umožňuje.

Vlastně problémy ...

S ohledem na výše uvedený příklad akce zaměstnanců registraci u vchodu, protože problém je použití samouvelichivayuschihsya (auto _ přírůstek) pole, které se obvykle používají k vyplnění hodnoty primárního klíče (primární _ klíč). Pokud používáte MySQL příkazu Aktualizovat v provedení s vložkou auto _ přírůstek pole se neustále zvyšuje.

Stejně tak, všechno se děje při použití náhradního konstrukce v případě duplikátu detekce. Hodnota „Auto-inkrementace“ se zvyšuje i v případě, že to není potřeba. Z tohoto důvodu vznikají problémy hodnoty přetečení propusti nebo rozsahy, které následně vedou k poruše systémů pro správu databází.

S největší pravděpodobností je problém

Popisuje problém je třeba považovat Web-vývojáři, protože to je nejběžnější v multi-uživatelských systémů (webové stránky, portály, a tak dále. P.) Když je systém spuštěn velký počet postupů Insert a aktualizovat MySQL.

PHP - odvolání k základně velmi často provádí. Z tohoto důvodu, aby bylo dosaženo maximální rozpětí, které jsou definovány jako auto_increment, nastává rychle a v analýze obtíží, ke kterým je vytvoření hlavních důvodů, prostě nebude fungovat.

Proto se vývojáři se doporučuje dávat pozor na používání designu na duplicitního klíče v aktualizaci příkaz mysql. vyberte - dotazy při přístupu databázový server bude pracovat bez chyb, ale přidání nových záznamů do databáze je plná nepříjemných situací v budoucnosti vést k vážným problémům. Jinak se doporučuje pro automatické přírůstek pole nejprve zkontrolovat své záznamy, a pak držet je aktualizován.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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