Задать вопрос
@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` (который был бы нужен только для этого запроса)

Возможно есть какое-то нативное и очень простое решение?
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
romy4
@romy4
Exception handler
Вы можете создать тригер на вставку/удаление в таблицу и завести отдельное поле с максимальным значением по полю, которое изменять при вставке/удалении.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Smithson
@Smithson
20+ лет админю
Индекс по полю updated_at у вас создан?
Ответ написан
Ваш ответ на вопрос

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

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