Логовете в MySQL включват: логове за грешки, двоични логове, общи логове за заявки, логове за бавни заявки и др. Ето две често използвани функции: общ журнал на заявки и бавен журнал на заявки.
1) Бавни логове на заявки:Записвайте всички заявки, които се изпълняват повече от long_query_time секунди или не използват индекси
2) Общ дневник на заявките:Записвайте клиентските връзки, установените и изпълнени оператори.
1: За бавната заявка в MySQL:
Логът на бавните заявки в MySQL е вид логване, предоставяно от MySQL, което се използва за записване на заявки, че времето за отговор надвишава прага в MySQL, по-специално за SQL с време на изпълнение над long_query_time стойност, което ще бъде записано в лога за бавни заявки (логовете могат да се записват във файлове или таблици в бази данни, ако изискванията за производителност са високи, препоръчва се да се пишат файлове). По подразбиране базата данни MySQL не позволява бавни логове на заявки, а стойността по подразбиране на long_query_time е 10 (т.е. 10 секунди, обикновено зададени на 1 секунда), тоест оператори, които работят повече от 10 секунди, са бавни заявки.
Общо взето, бавните заявки се случват в големи таблици (например, таблица съдържа милиони данни), а полетата на условията за заявка не са индексирани; в този момент полетата, които отговарят на условията на заявката, се сканират в цялата таблица, което отнема време за проверка на long_query_time.
Това е бавна заявка.
Въпрос: Как мога да проверя текущия статус на откриване на бавния лог на заявки?
Въведете командата в MySQL:
Следните параметри са основно усвоявани:
(1) Стойността на slow_query_log е ВКЛЮЧЕНА за включване на бавния дневник на заявки, а ИЗКЛЮЧЕНО е за изключване на лога за бавни заявки.
(2) Стойността на slow_query_log_file е записаният лог за бавна заявка към файла (забележка: по подразбиране името е hostname.log, независимо дали логът за бавна заявка е записан в конкретния файл, трябва да се зададе изходния лог формат на бавната заявка като файл, а свързаната команда е: показване на променливи като '%log_output%'; за да видите формата на изхода).
(3) long_query_time определя прага за бавна заявка, тоест ако времето за изпълнение надвиши този праг, това е бавна заявка, а стойността по подразбиране е 10 секунди.
(4) log_queries_not_using_indexes Ако стойността е зададена на ON, всички заявки, които не използват индекса, ще бъдат записани (Забележка: Ако log_queries_not_using_indexes е зададен само на ON, а slow_query_log е настроен на OFF, настройката няма да влезе в сила в този момент, тоест настройката ще влезе в сила, ако стойността на slow_query_log е настроена на ON) , който обикновено се включва временно, когато производителността е настроена.
2. Общ дневник на заявките
Ако стойността на general_log еON е включен, заOFF е затворен(Изключено по подразбиране).
Проверете формата на текущия изход на лога за бавна заявка, който може да бъде FILE (hostname.log, съхранена в файл с данни в дигитална база данни) или TABLE (mysql.general_log съхранена в база данни)
(Забележка: Горната команда е ефективна само за момента, когато рестартиранията на MySQL са невалидни, ако искате да влезе в сила постоянно, трябва да конфигурирате my.cnf)
Рендерирането на логаритмичния изход е както следва:
my.cnf файлът е конфигуриран по следния начин:
general_log=1 #为1表示开启通用日志查询, стойност 0 означава, че общата логарифмична заявка е затворена
log_output=FILE,TABLE# Задава изходния формат на общия лог на file и table
|