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

Возможно есть какое-то нативное и очень простое решение?
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
romy4
@romy4
Exception handler
Вы можете создать тригер на вставку/удаление в таблицу и завести отдельное поле с максимальным значением по полю, которое изменять при вставке/удалении.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Smithson
@Smithson
20+ лет админю
Индекс по полю updated_at у вас создан?
Ответ написан
Ваш ответ на вопрос

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

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