Zabbix — MySQL запрос на выборку текущих активных алертов

Выбираем кто из пользователей Zabbix видит хост:

Ускорение выполнения запросов MySQL

1) Использование DISTINCT работает быстрее чем group by

Было:

Стало:

2)  IN в запросах работает медленно. Очень медленно! Лучше вместо IN, использовать  JOIN

Было:

Выполняется 50 секунд

Стало:

Выполняется 0.23 секуны

MySQL операции с датами

Первое число текущего месяца:

Первое число следующего месяца:

Последний день месяца следующего месяца:

Python нормализация даты полученной из MySQL

Формат даты MySQL и Python несколько отличаются, поэтому не получится результат запроса — дату, использовать сразу. Нужно предварительно её отформатировать при помощи функции strptime(дата, формат). Вот пример кода:

Обьединение строк в запросе MySQL при помощи GROUP_CONCAT

Данная команда позволяет «обьединять» в одну строчку результат запроса. Например:

Было:

Стало:

 

1 6 7 8 9 10 13