Швидкодія бази даних в проектах відіграє важливу роль, оптимальні запити до БД мабуть є ключем до успішної реалізації взаємодії з даними. Тенденція універсальних движків, фреймворків, і т. д. полегшує розробку проектів, однак існує й інша сторона медалі. Надмірне використання різних API для фреймворку обгортається великими запитами до бази даних, яка при великій кількості вибудовує ці запити в чергу, а черга в свою чергу (як і в житті:)) забирає час. Однозначно запити можна всіляко кешувати, але перед цим добре б розібратися з ними в корені. У даній статті ми говоримо про конкретну СУБД – MySQL, враховуючи її поширеність використання в якості бази даних для різних інтернет-проектів.
Отже, припустимо, є необхідність зробити моніторинг запитів до бази даних, для цього існують безліч інструментів. Однак є можливість зробити лог SQL запитів стандартними засобами сервера MySQL. Для цього в конфігураційному файлі MySQL необхідно дописати кілька рядків (за замовчуванням скоріше всього, їх там немає). Як правило це слід робити на локальній машині, т. к. на бойовому сервері в лог-файлі вийти повний бардак, так і розмір його вийти завеликий.

Знаходимо конфігураційний файл MySQL сервера, в моєму випадку це /etc/my.cf, додаємо в нього наступні рядки,
для Unix систем:

# загальний лог
log=/var/mysql-logs/mysql-queries.log
# помилки
log-error=/var/mysql-logs/mysql-errors.log
# складні запити
log-slow-queries=/var/mysql-logs/mysql-slow-queries.log

таким же чином для Windows систем:

log = C:/mysql-logs/mysql-log.log
log-error = C:/mysql-logs/mysql-errors.log
log-slow-queries = C:/mysql-logs/mysql-slow-queries.log

При цьому слід попередньо створити каталог (у нашому прикладі це /mysql-logs) за вказаною шляху, задати права на запис. Параметри вказані в конфігураційному файлі набирають чинності після перезапуску сервера MySQL.
В документації MySQL на оф. сайті також є матеріал про це — The General Query Log

Додав: htmaker, 16.11.2013 р.
(2 голосів, середній: 1,00 із 5)

Завантаження…

Діліться з друзями:

См. також:


Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Виправлення помилок у базі MySQL
Рубрика: MySQL

Відновлення пароля root в MySQL
Рубрика: MySQL

Утиліта Mytop для MySQL
Рубрика: Linux, MySQL

Кількість запитів до MySQL в режимі реального часу
Рубрика: MySQL

Як дізнатися час виконання MySQL запиту?
Рубрика: MySQL

Оптимізація MySQL (просто про складному)
Рубрика: MySQL

Повнотекстовий індекс: Full text index
Рубрика: MySQL

Вставлення стовпців: ALTER TABLE ADD
Рубрика: MySQL