Dnevniki v MySQL vključujejo: dnevnike napak, binarne dnevnike, splošne dnevnike poizvedb, počasne dnevnike poizvedb itd. Tukaj sta dve pogosto uporabljeni funkciji: splošni dnevnik poizvedb in počasni dnevnik poizvedb.
1) Počasni zapisi poizvedb:Zabeležite vse poizvedbe, ki se izvajajo več kot long_query_time sekund ali ne uporabljajo indeksov
2) Splošni dnevnik poizvedb:Zabeležite vzpostavljene in izvedene izjave o povezavah strank.
1: O počasni poizvedbi MySQL:
Počasni dnevnik poizvedb v MySQL je vrsta beleženja, ki ga omogoča MySQL in se uporablja za beleženje stavkov, da odzivni čas presega prag v MySQL, natančneje se nanaša na SQL z izvajanjem nad long_query_time vrednostjo, ki bo zabeležena v počasnem dnevniku poizvedb (dnevnike je mogoče zapisovati v datoteke ali tabele podatkovnih baz, če so zahteve po zmogljivosti visoke, je priporočljivo pisati datoteke). Privzeto MySQL baza podatkov ne omogoča počasnih dnevnikov poizvedb, privzeta vrednost long_query_time pa je 10 (tj. 10 sekund, običajno nastavljeno na 1 sekundo), torej so stavki, ki tečejo več kot 10 sekund, počasni poizvedbeni stavki.
Na splošno se počasne poizvedbe pojavljajo v velikih tabelah (na primer, tabela ima milijone podatkov), polja pogojev poizvedbe niso indeksirana; takrat se polja, ki ustrezajo pogojem poizvedbe, pregledajo v celotni tabeli, kar zahteva čas za preverjanje long_query_time.
Gre za počasno poizvedbeno izjavo.
Vprašanje: Kako lahko preverim trenutno stanje odpiranja počasnega dnevnika poizvedb?
Vnesite ukaz v MySQL:
Naslednji parametri so večinoma obvladovani:
(1) Vrednost slow_query_log je VKLOPLJENA za vklop počasnega dnevnika poizvedb, IZKLOP pa za izklop počasnega dnevnika poizvedb.
(2) Vrednost slow_query_log_file je zabeležen počasni dnevnik poizvedb v datoteko (opomba: privzeto ime je hostname.log, ne glede na to, ali je počasni dnevnik poizvedb zapisan v določeno datoteko, morate določiti format izhodnega dnevnika počasne poizvedbe kot datoteko, povezani ukaz pa je: prikaži spremenljivke, kot je '%log_output%'; za ogled formata izhoda).
(3) long_query_time določa prag za počasno poizvedbo, torej, če čas izvajanja preseže ta prag, gre za počasno poizvedbo, privzeta vrednost pa je 10 sekund.
(4) log_queries_not_using_indexes Če je vrednost nastavljena na ON, bodo zabeležene vse poizvedbe, ki ne uporabljajo indeksa (Opomba: Če je log_queries_not_using_indexes nastavljen samo na ON, slow_query_log pa na OFF, nastavitev takrat ne začne veljati, torej se bo nastavila, če je vrednost slow_query_log nastavljena na ON) , ki je običajno začasno vklopljena, ko je zmogljivost uglašena.
2. Splošni dnevnik poizvedb
Če je vrednost general_logON je vklopljen, zaOFF je zaprt(Privzeto izklopljeno).
Preverite format trenutnega počasnega dnevnika poizvedb, ki je lahko FILE (hostname.log, shranjen v podatkovni datoteki v digitalni bazi) ali TABELA (mysql.general_log shranjena v podatkovni bazi)
(Opomba: Zgornji ukaz velja le za trenutek, ko so ponovni zagoni MySQL neveljavni, če želite, da se trajno uveljavi, morate nastaviti my.cnf)
Upodabljanje izhoda dnevnika je naslednje:
Datoteka my.cnf je konfigurirana takole:
general_log=1 #为1表示开启通用日志查询 vrednost 0 pomeni, da je generična logaritamska poizvedba zaprta
log_output=FILE,TABLE# Nastavi izhodni format splošnega dnevnika na datoteko in tabelo
|