Najkritickejšou časťou tohto príkazu je stĺpec stavov a stavy uvedené v mysql sú hlavne nasledovné:
Kontrolný stôl Kontrola datasheetu (to je automatické). Záverečné stoly Údaje upravené v tabuľke sa presúvajú na disk a tabuľka, ktorá bola vyčerpaná, sa zatvára. Je to rýchla operácia, ak nie, mali by ste skontrolovať, či je miesto na disku plné alebo či je disk zaťažený. Connect Out Replikačný slave server sa pripája k primárnemu serveru. Kopírovanie do tmp tabuľky na disku Keďže dočasná množina výsledkov je väčšia ako tmp_table_size, dočasná tabuľka sa konvertuje z pamäte na diskové úložisko, aby sa ušetrila pamäť. Vytváranie tmp tabuľky Vytvára sa dočasná tabuľka na uchovávanie niektorých výsledkov dotazov. Vymazanie z hlavnej tabuľky Server vykonáva prvú časť viactabuľkového vymazania a práve vymazal prvú tabuľku. Vymazanie z referenčných tabuliek Server vykonáva druhú časť viactabuľkového mazania, ktorou je mazanie záznamov z iných tabuliek. Splachovacie tabuľky Robím FLUSH TABLES, čakám, kým ostatné vlákna zatvoria datatable. Zabitý Ak je žiadosť o zabitie odoslaná do vlákna, vlákno skontroluje vlajku zabitia a opustí ďalšiu žiadosť o zabitie. MySQL kontroluje príznaky ukončenia v každej hlavnej slučke, hoci v niektorých prípadoch môže vlákno na krátky čas zlyhať. Ak je vlákno uzamknuté iným vláknom, žiadosť o ukončenie nadobudne účinnosť okamžite po uvoľnení zámku. Zamknuté Uzamknuté inými dotazmi. Odosielanie dát Záznam SELECT dotazu sa spracováva, zatiaľ čo výsledky sa odosielajú klientovi. Triedenie pre skupinu Triedenie pre SKUPINU PO. Triedenie podľa poradia Triedenie prebieha pre ORDER BY. Otváracie tabuľky Tento proces by mal byť rýchly, pokiaľ do toho nezasahujú iné faktory. Napríklad dátová tabuľka nemôže byť otvorená iným vláknom, kým nie je vykonaný príkaz ALTER TABLE alebo LOCK TABLE. Snažím sa otvoriť stôl. Odstraňovanie duplikátov Vykonáva sa SELECT Distinct dotaz, ale MySQL nedokáže optimalizovať duplicitné záznamy v predchádzajúcej fáze. Preto musí MySQL opäť odstrániť duplicitné záznamy pred odoslaním výsledkov klientovi. Stôl znovuotvorenia Na stole sa získa zámok, ale musí byť upravený po úprave štruktúry tabuľky. Už som uvoľnil zámok, zatvoril datasheet a snažím sa datatable znovu otvoriť. Oprava triedením Inštrukcia fix je triedenie na vytvorenie indexu. Oprava pomocou keycache Fixná smernica spočíva v používaní indexovej cache na vytváranie nových indexov jeden po druhom. Bude to pomalšie ako oprava triedením. Vyhľadávanie v riadkoch na aktualizáciu Oprávnené záznamy sa identifikujú na aktualizácie. Musí to byť vykonané predtým, než AKTUALIZÁCIA upraví príslušný záznam. Spánok Čakanie, kým klient pošle novú požiadavku. Systémový zámok Čakáme na získanie externého systémového zámku. Ak v rovnakom čase nebežia žiadne mysqld servery, ktoré požadujú tú istú tabuľku, externé systémové zámky môžu byť zakázané pridaním parametra –skip-external-lock. Modernizácia zámku INSERT DELAYED sa snaží prinútiť uzamykateľnú tabuľku, aby vložila nový záznam. Aktualizácia Vyhľadávanie zhodných záznamov a ich úprava. Užívateľský zámok čaká na GET_LOCK(). Obsluha stolov Vlákno bolo oznámené, že štruktúra datasheetu bola upravená a je potrebné ju znovu otvoriť, aby získala novú štruktúru. Potom, aby ste mohli dátovú tabuľku znovu otvoriť, musíte počkať, kým všetky ostatné vlákna tabuľku zatvoria. Toto upozornenie sa vyskytuje v nasledujúcich prípadoch: VYČISTIŤ TABUĽKY tbl_name, ZMENIŤ TABUĽKU, PREJMENOVAŤ TABUĽKU, OPRAVIŤ TABUĽKU, ANALYZOVAŤ TABUĽKU alebo OPTIMALIZOVAŤ TABUĽKU. Čakanie na vloženie handlera INSERT DELAYED spracoval všetky čakajúce vklady a čaká na novú požiadavku. Väčšina stavov zodpovedá rýchlym operáciám, pokiaľ vlákno zostáva v rovnakom stave niekoľko sekúnd, môže nastať problém, ktorý je potrebné skontrolovať. |