Задать вопрос
@corpsepk

Как ускорить/закешировать запрос «SELECT MAX(updated_at) FROM `table`» на уровне БД?

Mysql, таблица:
CREATE TABLE `db`.`table` ( 
    `id` INT(11) NOT NULL AUTO_INCREMENT ,
    `updated_at` DATETIME NOT NULL ,
    `name` VARCHAR(255) NOT NULL ,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB;


Есть кеш, который протухает при изменении результата запроса
SELECT MAX(updated_at) FROM `table`

Есть ли способ на уровне бд ускорить/закешировать этот запрос?
Без создания:
- дополнительных таблиц (и создания триггера)
- индекса по `updated_at` (который был бы нужен только для этого запроса)

Возможно есть какое-то нативное и очень простое решение?
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
romy4
@romy4
Exception handler
Вы можете создать тригер на вставку/удаление в таблицу и завести отдельное поле с максимальным значением по полю, которое изменять при вставке/удалении.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Smithson
@Smithson
20+ лет админю
Индекс по полю updated_at у вас создан?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы