Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 13673|Atsakyti: 0

[Šaltinis] MySQL įgalina bendruosius užklausų žurnalus ir lėtus užklausų žurnalus

[Kopijuoti nuorodą]
Paskelbta 2019-03-19 16:31:34 | | | |
MySQL žurnalai apima: klaidų žurnalus, dvejetainius žurnalus, bendruosius užklausų žurnalus, lėtus užklausų žurnalus ir kt. Čia yra dvi dažniausiai naudojamos funkcijos: bendras užklausų žurnalas ir lėtas užklausų žurnalas.

1) Lėti užklausų žurnalai:Registruoti visas užklausas, kurios vykdomos ilgiau nei long_query_time sekundes arba nenaudoja indeksų

2) Bendras užklausų žurnalas:Įrašykite užmegztus ir įvykdytus klientų ryšius.


1: Apie MySQL lėtą užklausą:
Kaip įjungti lėtą užklausų registravimą "Mysql".
https://www.itsvse.com/thread-1767-1-1.html
(Šaltinis: Architect_Programmer)

"MySQL" lėtas užklausų žurnalas yra tam tikras "MySQL" teikiamas registravimas, kuris naudojamas įrašyti teiginius, kad atsakymo laikas viršija "MySQL" slenkstį, konkrečiai nurodant SQL, kurio veikimo laikas yra didesnis nei long_query_time reikšmė, kuris bus įrašytas į lėtą užklausų žurnalą (žurnalai gali būti įrašomi į failus ar duomenų bazių lenteles, jei našumo reikalavimai yra aukšti, rekomenduojama rašyti failus). Pagal numatytuosius nustatymus MySQL duomenų bazė neįgalina lėtų užklausų žurnalų, o numatytoji long_query_time reikšmė yra 10 (t. y. 10 sekundžių, paprastai nustatyta 1 sekundė), tai yra, teiginiai, kurie vykdomi ilgiau nei 10 sekundžių, yra lėti užklausos sakiniai.

Paprastai kalbant, lėtos užklausos vyksta didelėse lentelėse (pavyzdžiui, lentelėje yra milijonai duomenų), o užklausos sąlygų laukai nėra indeksuojami, šiuo metu laukai, atitinkantys užklausos sąlygas, bus nuskaitomi visoje lentelėje, todėl reikia laiko patikrinti long_query_time.

Tai lėtas užklausos teiginys.

Klausimas: Kaip patikrinti dabartinę lėtos užklausos žurnalo atidarymo būseną?

Įveskite komandą į MySQL:


Daugiausia įsisavinami šie parametrai:

(1) slow_query_log reikšmė yra ĮJUNGTA, kad įjungtumėte lėtą užklausų žurnalą, o IŠJUNGTA - išjungti lėtą užklausų žurnalą.

(2) slow_query_log_file reikšmė yra įrašytas lėtas užklausos žurnalas į failą (pastaba: numatytasis pavadinimas yra hostname.log, nesvarbu, ar lėtas užklausos žurnalas yra įrašytas į nurodytą failą, turite nurodyti lėtos užklausos išvesties žurnalo formatą kaip failą, o susijusi komanda yra: rodyti kintamuosius, pvz., '%log_output%'; , kad pamatytumėte išvesties formatą).

(3) long_query_time nurodo lėtos užklausos slenkstį, tai yra, jei vykdymo laikas viršija šią ribą, tai yra lėtas užklausos sakinys, o numatytoji reikšmė yra 10 sekundžių.

(4) log_queries_not_using_indexes Jei reikšmė nustatyta į ON, bus įrašytos visos užklausos, kurios nenaudoja indekso (Pastaba: jei log_queries_not_using_indexes nustatyta tik į ON, o slow_query_log nustatyta kaip OFF, nustatymas šiuo metu neįsigalios, tai yra, nustatymas įsigalios, jei slow_query_log reikšmė nustatyta į ON) , kuri paprastai laikinai įjungiama, kai sureguliuojamas našumas.


2. Bendras užklausų žurnalas

Jei general_log vertė yraĮJUNGTA įjungta,IŠJUNGTA uždaryta(Pagal numatytuosius nustatymus išjungta).

Patikrinkite dabartinės lėtos užklausos žurnalo išvesties formatą, kuris gali būti FILE (hostname.log, saugomas duomenų faile skaitmeninėje duomenų bazėje) arba TABLE (mysql.general_log saugomas duomenų bazėje)



(Pastaba: aukščiau pateikta komanda galioja tik dabartiniu metu, kai MySQL paleidimai iš naujo yra negaliojantys, jei norite, kad ji įsigaliotų visam laikui, turite sukonfigūruoti my.cnf)

Žurnalo išvesties atvaizdavimas yra toks:





my.cnf failas sukonfigūruotas taip:

general_log=1 #为1表示开启通用日志查询, reikšmė 0 rodo, kad bendroji žurnalo užklausa uždaryta

log_output=FILE,TABLE# Nustato bendrojo žurnalo išvesties formatą į failą ir lentelę





Ankstesnis:C# Enum enum tipo veikimo išplėtimo klasė
Kitą:"Crypto-JS" apskaičiuoja failo SHA256 reikšmę
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com