Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Добрый вечер

Нужно написать скрипт вывода ТОП популярных sql запросов по нашей базе в файл.

Для этого авторизуемся под рут в mysql и выполняем встроенную команду show processlist нашим скриптом раз в секунду.

В результате выдает типа:

mysql> show processlist;

+----+-------+-----------+---------+---------+------+--------------+-----------------------------------------------------------------------------+

| Id | User  | Host      | db      | Command | Time | State        | Info                                                                        |

+----+-------+-----------+---------+---------+------+--------------+-----------------------------------------------------------------------------+

|  3 | admin | localhost | base| Execute |    0 | Sending data | SELECT POS_R FROM table WHERE ID_P_R = ? ORDER BY DATE_R DESC LIMIT 1 |

| 27 | root  | localhost | NULL    | Query   |    0 | starting     | show processlist                                                            |

+----+-------+-----------+---------+---------+------+--------------+-----------------------------------------------------------------------------+

2 rows in set (0.00 sec)

Из этого мы выбираем столбец info и строку, начиная с ключевого слова SELECT, UPDATE, INSERT, DELETE и заканчивая первым словом после WHERE,

Пример:

SELECT POS_R FROM table WHERE ID_P_R

SELECT ROUND FROM name WHERE ID_USERS

SELECT DATE FROM date WHERE AUTH

и тд..

В результате склеиваем одинаковые запросы и делаем счетчик числа этих запросов, в результате в файле выводим что типо такого, сортируя по кол-ву убывания :

SELECT POS_R FROM table WHERE ID_P_R (3463)

SELECT ROUND FROM name WHERE ID_USERS (796)

SELECT DATE FROM date WHERE AUTH (232)

где числа 3463,796,232 это кол-во запросов, пока выполнялся наш скрипт.

Время выполнения скрипта, хорошо бы уметь при запуске определять, в секундах. Чтобы по истечении например 60сек, он прекращал работу и выдавал файл с результатами.

ОС:

Система Centos 6, Mysql 5.7

5 лет назад
easycode
Роман 
37 летРоссия
8 лет в сервисе
Был
4 года назад
Выбранный исполнитель
atraks
Сергей 
40 летРоссия
18 лет в сервисе
Был
2 года назад
5 лет назад
$10
1 день
Оперативно, качественно
задача понятная оплата своевременная сразу после проверки на вопросы ответы быстрые