Задать вопрос
meteorlake
@meteorlake
Кодю код, админю домашний сервер с фильмами

Возможно ли узнать последнюю дату изменения таблицы mysql?

Здравствуйте. У меня есть фронтенд приложение, которое подгружает некоторые данные из разных таблиц и работа основывается на данных всех этих таблиц. Есть ли возможность узнать последнюю дату изменения таблицы, чтобы обновить данные в приложении только, если там появилось что-то новое?
  • Вопрос задан
  • 2470 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
ev_g
@ev_g
Web dev.
Подтяни UPDATE_TIME из таблицы information_schema.tables.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
Единственный действительно надёжный способ - это протоколирование. Например, триггер, фиксирующий время запроса в служебной таблице.

Решение через INFORMATION_SCHEMA.TABLES.UPDATE_TIME - это плюс-минус лапоть. Для большинства движков - это время обновления файла таблицы в файловой системе, а вовсе даже не время выполнения последней записи по результатам выполнения последнего запроса на изменение данных (да-да, для долгого запроса это будет SYSDATE() последней изменённой записи, а не CURRENT_TIMESTAMP). Да и на дефолтном InnoDB не всё слава богу - кэширование запросто может добавить несколько секунд, а при отключенном file_per_table и на партиционированных таблицах так и вовсе не работает.
Ответ написан
Ваш ответ на вопрос

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

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