Журнали в 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# Встановлює вихідний формат загального журналу у файл і таблицю
|