Ответы пользователя по тегу MySQL
  • Как оптимизировать SQL запрос?

    В принципе GROUP BY в запросе будет сканировать всю таблицу в 90%. Можно конечно попробовать поиграться с составными индексами на таблицу логов. Запрос переписывать...
    Самый простой способ, на мой взгляд, в исполнении и работает ad-hoc:
    Добавьте поле в таблицу devices(назовем его lastidevent ) и сделайте триггер на вставку в таблицу eventlog, который будет обновлять поле lastidevent на вставляемый id_event в таблице devices. Затем в запросе соединять с таблицей логов по полю lastidevent.
    Т.к. таблица devices не нагружена, то конкуренция будет минимальна. Правда, придется считаться с возросшими расходами на вставку логов.
    Ответ написан
    Комментировать