Jurnalele din MySQL includ: jurnale de erori, jurnale binare, jurnale generice de interogări, loguri lente etc. Iată două funcții utilizate frecvent: jurnalul general de interogări și jurnalul lent de interogări.
1) Jurnale de interogări lente:Înregistrează toate interogările care sunt executate mai mult de long_query_time secunde sau care nu folosesc indici
2) Jurnal general de interogări:Înregistrează comunicațiile cu clienții, declarațiile stabilite și executate.
1: Despre interogarea lentă MySQL:
Jurnalul de interogări lent al MySQL este un tip de jurnal oferit de MySQL, folosit pentru a înregistra afirmații în care timpul de răspuns depășește pragul în MySQL, referindu-se în mod specific la SQL cu un timp de rulare mai mare de long_query_time valoare, care va fi înregistrat în jurnalul de interogări lente (jurnalele pot fi scrise în fișiere sau tabele de baze de date, dacă cerințele de performanță sunt ridicate, se recomandă scrierea fișierelor). În mod implicit, baza de date MySQL nu permite jurnalele de interogări lente, iar valoarea implicită a long_query_time este 10 (adică 10 secunde, de obicei setată la 1 secundă), adică instrucțiunile care rulează mai mult de 10 secunde sunt instrucțiuni de interogare lente.
În general, interogările lente apar în tabele mari (de exemplu, un tabel conține milioane de date), iar câmpurile condițiilor de interogare nu sunt indexate; în acest moment, câmpurile care corespund condițiilor de interogare vor fi scanate în întregul tabel, ceea ce necesită timp pentru a verifica long_query_time.
Este o afirmație de interogare lentă.
Întrebare: Cum pot verifica statusul actual de deschidere al jurnalului de interogări lente?
Intră comanda în MySQL:
Următorii parametri sunt în principal stăpâniți:
(1) Valoarea lui slow_query_log este ON pentru a activa jurnalul de interogări lente, iar DEZACTIVAT este pentru a dezactiva jurnalul de interogări lente.
(2) Valoarea lui slow_query_log_file este jurnalul de interogare lentă înregistrat către fișier (notă: numele implicit este hostname.log, indiferent dacă jurnalul de interogări lente este scris în fișierul specificat, trebuie să specifici formatul logului de ieșire al interogării lente ca fișier, iar comanda asociată este: arată variabile precum '%log_output%'; pentru a vedea formatul rezultatului).
(3) long_query_time specifică pragul pentru interogarea lentă, adică dacă timpul de execuție depășește acest prag, este o instrucțiune de interogare lentă, iar valoarea implicită este de 10 secunde.
(4) log_queries_not_using_indexes Dacă valoarea este setată pe ON, toate interogările care nu utilizează indexul vor fi înregistrate (Notă: Dacă log_queries_not_using_indexes este setat doar pe ON și slow_query_log este setat pe OFF, setarea nu va intra în vigoare în acest moment, adică setarea va intra în vigoare dacă valoarea slow_query_log este setată pe ON) , care este de obicei activat temporar când interpretarea este acordată.
2. Jurnal general de interogări
Dacă valoarea lui general_log esteON este pornit, pentruOFF este închis(Dezactivat implicit).
Verifică formatul ieșirii curente a jurnalului lent de interogare, care poate fi FILE (un hostname.log stocat într-un fișier de date dintr-o bază de date digitală) sau un TABLE (mysql.general_log stocat într-o bază de date)
(Notă: Comanda de mai sus este valabilă doar pentru momentul curent, când repornirile MySQL sunt invalide, dacă vrei să aibă efect permanent, trebuie să configurezi my.cnf)
Redarea rezultatului logaritaristic este următoarea:
fișierul my.cnf este configurat astfel:
general_log=1 #为1表示开启通用日志查询, o valoare de 0 indică faptul că interogarea generică de jurnal este închisă
log_output=FILE,TABLE# Setează formatul de ieșire al jurnalului general către fișier și tabel
|