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

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

Здравствуйте. У меня есть фронтенд приложение, которое подгружает некоторые данные из разных таблиц и работа основывается на данных всех этих таблиц. Есть ли возможность узнать последнюю дату изменения таблицы, чтобы обновить данные в приложении только, если там появилось что-то новое?
  • Вопрос задан
  • 2184 просмотра
Решения вопроса 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 и на партиционированных таблицах так и вовсе не работает.
Ответ написан
Ваш ответ на вопрос

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

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