Najpomembnejši del tega ukaza je stolpec stanje, stanja, navedena v mysql, pa so večinoma naslednja:
Preverjanje mize Preverjanje podatkovnega lista (to je samodejno). Zaključne mize Podatki, spremenjeni v tabeli, se shranjujejo na disk, tabela, ki je bila porabljena, pa se zapira. To je hitra operacija, če ne, preverite, ali je prostor na disku poln ali je disk pod obremenitvijo. Connect Out Replikacijski podrejeni strežnik se povezuje s primarnim strežnikom. Kopiranje v tmp tabelo na disku Ker je začasna množica rezultatov večja od tmp_table_size, se začasna tabela pretvarja iz pomnilnika v diskovno shrambo, da se prihrani pomnilnik. Ustvarjanje tmp tabele Ustvarja se začasna tabela za shranjevanje nekaterih rezultatov poizvedb. brisanje iz glavne tabele Strežnik izvaja prvi del večtabelnega brisanja in je pravkar izbrisal prvo tabelo. brisanje iz referenčnih tabel Strežnik izvaja drugi del brisanja več tabel, to je brisanje zapisov iz drugih tabel. Flushing tabele Izvajam FLUSH TABELE, čakam, da druge niti zaprejo podatkovno tabelo. Ubit Če je zahtevek za ubijanje poslan v nit, bo nit preverila zastavo za ubit in opustila naslednjo zahtevo za uničenje. MySQL preverja zastavice za prekinitev v vsaki glavni zanki, čeprav lahko v nekaterih primerih nit za kratek čas preneha delovati. Če je nit zaklenjena z drugo nitjo, zahteva za prekinitev začne veljati takoj, ko se zaklep sprosti. Zaklenjeno Zaklenjeno z drugimi poizvedbami. Pošiljanje podatkov Zapis SELECT poizvedbe se obdeluje, medtem ko se rezultati pošiljajo odjemalcu. Razporejanje za skupino Razvrščanje za SKUPINO PO. Razporejanje po vrstnem redu Razvrščanje poteka za ORDER BY. Otvoritvene lestvice Ta postopek bi moral biti hiter, razen če ga ne motijo drugi dejavniki. Na primer, podatkovne tabele ne more odpreti druga nit, dokler ni izveden ukaz ALTER TABLE ali LOCK TABLE. Poskušam odpreti mizo. Odstranjevanje podvojenih datotek Izvaja se SELECT Distinct poizvedba, vendar MySQL ne more optimizirati podvojenih zapisov v prejšnji fazi. Zato mora MySQL ponovno odstraniti podvojene zapise, preden rezultate pošlje odjemalcu. Miza za ponovno odprtje Zaklep na tabeli je dosežen, vendar ga je treba spremeniti po spremembi strukture tabele. Že sem sprostil ključavnico, zaprl podatkovni list in poskuša ponovno odpreti podatkovno tabelo. Popravilo z razvrščanjem Ukaz za popravek je razvrščanje za ustvarjanje indeksa. Popravilo s keycache Direktiva za popravilo je uporaba indeksnega predpomnilnika za ustvarjanje novih indeksov enega za drugim. To bo počasneje kot popravilo, če ga razvrstiš. Iskanje po vrsticah za posodobitev Upravičeni zapisi se identificirajo za posodobitve. To je treba storiti, preden POSODOBITEV spremeni ustrezni zapis. Spanje Čakanje, da stranka pošlje novo zahtevo. Sistemska blokada Čakam na pridobitev zunanjega sistemskega zaklepa. Če hkrati ne delujejo mysqld strežniki, ki bi zahtevali isto tabelo, je mogoče zunanje sistemske zaklepe prepovedati z dodajanjem parametra –skip-external-lock. Nadgradnja zapornice INSERT DELAYED poskuša dobiti zaklepno mizo za vstavljanje nove plošče. Posodobitev Iskanje ujemajočih se zapisov in njihovo spreminjanje. Uporabniško zaklepanje čaka na GET_LOCK(). Natakarjenje miz Tema je bila obveščena, da je bila struktura podatkovnega lista spremenjena in da jo je treba ponovno odpreti, da bi dobili novo strukturo. Nato morate za ponovno odprtje podatkovne tabele počakati, da vse druge niti zaprejo tabelo. To obvestilo se pojavi v naslednjih primerih: POČISTI TABELE tbl_name, SPREMENI TABELO, PREIMENUJ TABELO, POPRAVI TABELO, ANALIZIRAJ TABELO ali OPTIMIZIRAJ TABELO. Čakam na vstavitev vodnika INSERT DELAYED je obdelal vse čakajoče vstavke in čaka na novo zahtevo. Večina stanj ustreza hitrim operacijam, dokler nit ostane v istem stanju nekaj sekund, se lahko pojavi težava, ki jo je treba preveriti. |