Avaa palvelimen tehtävienhallinta ja huomaa, että prosessoriprosessi on aina ollut 99 %, ja näkymä on ollut mysql-prosessilla, joka on ollut korkea.
Processlist-komennon tulos näyttää, mitkä säikeet ovat käynnissä, ja voit tarkistaa tietokannan nykyisen suoritustilan.
1. Mene mysql/bin-hakemistoon ja syötä mysqladmin processlist; 2. Aloita mysql ja syötä näytä prosessilista. Jos sinulla on SUPER-oikeus, näet kaikki ketjut, muuten näet vain tilisi ketjut.
Jokaisen sarakkeen merkitys ja tarkoitus
id: Tunniste käyttäjä: näyttää nykyisen käyttäjän, jos se ei ole root-käyttäjä, tämä komento näyttää vain SQL-lauseet käyttöoikeuksiesi sisällä. isäntä: näyttää, mistä IP-osoitteesta tämä väite tulee mistä portista db: Näyttää tietokannan, johon prosessi on tällä hetkellä yhteydessä. komento: Näyttää nykyisen yhteyden suorittamat komennot, yleensä lepotilaan, kyselyn ja yhdistämisen. aika: Aika, joka tämä tila kestää, sekunneissa. tila: Näyttää sql-lauseen tilan, joka käyttää nykyistä yhteyttä, mutta vain tietty tila lauseen suorituksessa, sql-lause, on haettu, esimerkiksi se saattaa joutua käymään läpi kopiointitaulun tmp-tauluun, Lajittelutulokseen, Tietojen lähettämiseen jne info: Näyttää tämän SQL-lauseen, koska sen pituus on rajallinen, joten pitkä SQL-lause ei näytetä kokonaan, mutta se on tärkeä perusta ongelmalauseen arviointiin.
On havaittu, että on olemassa kaksi SQL-kyselylausetta, jotka vievät eniten aikaa ja joita ei ole suoritettu yli 1000 sekuntiin, ja ne SQL-lauseet, jotka kopioimme info-kentästä, ovat yhteiskysely seuraavasti:
valitse cast(count(*) as SIGNED) col_0_0_ 'RatedPassenger' ratedpasse0_, 'BaseInfoCompany' baseinfoco1_, 'OrderMatch' ordermatch2_ missä baseinfoco1_. CompanyId=ratedpasse0_. CompanyId ja ordermatch2_. OrderId=ratedpasse0_. OrderId Tapaamme näiden kahden kyselylauseen prosessin
Odotettuani 10 sekuntia, huomasin, että prosessori oli laskenut paljon, mutta se oli silti hyvin korkea, ja aion jatkaa syyn kysymistä!
Join joint query -lausetta varten lisää indeksi siihen liittyvään kenttään tai muokkaa ohjelman kyselykoodia. Luo indeksi-SQL-lause
Loppu
|