A legkritikusabb parancs az állapotoszlop, és a mysql-ben felsorolt állapotok főként a következők:
Ellenőrzőasztal Az adatlap ellenőrzése (ez automatikus). Záró asztalok A táblázatban módosított adatokat a lemezre öblítik, és a felhasznált táblát lezárják. Ez egy gyors művelet, ha nem, ellenőrizd, hogy a lemezhely tele van-e vagy terhelés alatt van-e a lemez. Kapcsolódj ki A replikációs szolgaszerver csatlakozik az elsődleges szerverhez. Másolás a tmp táblára a lemezen Mivel az ideiglenes eredményhalmaz nagyobb, mint tmp_table_size, az ideiglenes táblát a memóriából lemeztárrá konvertálják a memória megtakarítása érdekében. TMP tábla létrehozása Egy ideiglenes tábla készül, amely néhány lekérdezési eredményt tárol. Törlés a fő tábláról A szerver a többtáblás törlés első részét végzi, és éppen törölte az első táblát. Hivatkozási táblázatokból való törlés A szerver a többtáblás törlés második részét végzi, amely más táblákból származó rekordok törlését jelenti. Öbönzésasztalok A FLUSH TABLE-okat csinálom, várva, hogy más szálak lezárják az adattáblát. Megölték Ha egy megölési kérést küldenek egy szálba, a szál megnézi a kill flag-et, és elhagyja a következő megölési kérést. A MySQL minden fő hurokban ellenőrzi a kill flagokat, bár bizonyos esetekben a szál rövid időre meghalhat. Ha a szálat egy másik szál zárja, a kill request azonnal érvényes a zárolás feloldásával. Zárva Más kérdések zárták le. Adatküldés A SELECT lekérdezés rekordját feldolgozják, miközben az eredményeket elküldik az ügyfélnek. Csoportos rendezés Csoportos rendezés a CSOPORTOS OSZTÁLYOZÁSHOZ. Sorrend szerinti rendezés A RENDEZÉS SZERINTI RENDEZÉSRE kerül. Nyitóasztalok Ez a folyamat gyorsnak kellene lennie, hacsak más tényezők nem zavarják meg. Például egy adattáblát nem lehet megnyitni egy másik szál által, amíg az ALTER TABLE vagy LOCK TABLE utasítást nem futtatjuk. Próbálok kinyitni az asztalt. Másolatok eltávolítása A SELECT DISTINCT lekérdezés fut el, de a MySQL nem tudja optimalizálni az előző szakaszban lévő duplikált rekordokat. Ezért a MySQL-nek ismét el kell távolítania a duplikált rekordokat, mielőtt az eredményeket elküldené az ügyfélnek. Újranyitási asztal Egy táblázaton rögzítőt kapunk, de azt a tábla szerkezetének módosítása után módosítani kell. Már kiengedtem a zárolást, bezártam az adatlapot, és próbálom újra megnyitni az adattáblát. Javítás rendezéssel A fix utasítás az indexet rendezni. Javítás kulcscache-rel A fix direktíva az index cache-t használja új indexek létrehozására egyenként. Ez lassabb lesz, mint a rendezéssel történő javítás. Sorok keresése frissítésért A jogosult nyilvántartásokat azonosítják frissítések céljából. Ezt még azelőtt kell megtenni, hogy a FRISSÍTÉS módosítja a releváns rekordot. Alvás Várom, hogy az ügyfél új kérést küldjön. Rendszerzár Várok, hogy külső rendszerzárat kapjanak. Ha nincs egyszerre futó mysqld szerver, amely ugyanazt a táblát kéri, a külső rendszerzárolásokat tilthatják a –skip-external-locking paraméter hozzáadásával. Zár fejlesztése Az INSERT DELAYED azt jelenti, hogy egy lock táblát próbál új rekordot behelyezni. Frissítés Keresni a megfelelő feljegyzéseket és módosítani őket. Felhasználói zár várja a GET_LOCK(). Asztalvárás A szálat értesítették, hogy az adatlap szerkezete módosítódott, és újra ki kell nyitni az új struktúra eléréséhez. Ezután, hogy újra megnyithasd az adattáblát, várnod kell, amíg a többi szál bezárja a táblát. Ez az értesítés a következő esetekben fordul elő: FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE vagy OPTIMIZE TABLE. Várva a kezelő behelyezésre Az INSERT DELAYED feldolgozta az összes függőben lévő beszúrást, és új kérésre vár. A legtöbb állapot gyors műveletnek felel meg, amíg egy szál néhány másodpercig ugyanabban az állapotban marad, akkor előfordulhat egy probléma, amit ellenőrizni kell. |