[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скорость выполнения запросов к БД
rolling
Добрый день!
Есть проблема - сайт на движке OpenCart стал медленно грузится. Есть явное подозрение, что это связано с разросшейся БД, и пора оптимизировать запросы. Поскольку сайт вносились ручные правки - определить точное место вмешательства трудно.

Ввиду выше изложенного, такой вопрос: есть ли способ выяснить, какие запросы выполнялись при загрузке страницы, время их исполнения и сколько инфы они вернули?



Спустя 4 часа, 59 минут, 2 секунды (26.09.2012 - 17:08) sergeiss написал(а):
Чтобы узнать все запросы, которые выполнялись, надо сделать отдельную функцию. Которая будет принимать запрос, выполнять его и параллельно записывать куда-нибудь, в файл или в БД. Тогда ты сможешь узнать, какие именно запросы были, сколько времени они выполнялись. Можно будет взять их и "покрутить" по-всякому". В том числе и через EXPLAIN прогнать.

Спустя 1 минута, 49 секунд (26.09.2012 - 17:09) rolling написал(а):
Может есть какая-то примочка к MySql-серверу, которая отражала запросы, которые к ней обращаются и т.д.?

Спустя 36 минут, 56 секунд (26.09.2012 - 17:46) Placido написал(а):
Есть. Называется general log. Включается так:
SET GLOBAL `general_log` = 1;
Чтобы не искать, где находится файл лога, можно указать явно
SET GLOBAL `general_log_file` = 'D:\mysql.log', `general_log` = 1;
Лог будет находиться в файле 'D:\mysql.log'. Да, и после отладки не забудь отключить лог (он о-о-очень быстро разрастается).
SET GLOBAL `general_log` = 0;

Спустя 28 секунд (26.09.2012 - 17:47) killer8080 написал(а):
http://stepansuvorov.com/blog/2012/08/проф...mysql-запросов/

форум поломал ссылку
_http://stepansuvorov.com/blog/2012/08/профилирование-mysql-запросов/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.