Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête pour trouver les tables modifiées dans la dernière heure

MySQL 5.x peut le faire via la base de données INFORMATION_SCHEMA. Cette base de données contient des informations sur les tables, les vues, les colonnes, etc.

SELECT * 
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE 
    DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`

Renvoie toutes les tables qui ont été mises à jour (UPDATE_TIME) au cours de la dernière heure. Vous pouvez également filtrer par nom de base de données (colonne TABLE_SCHEMA).

Un exemple de requête :

SELECT 
    CONCAT(`TABLE_SCHEMA`, '.', `TABLE_NAME`) AS `Table`, 
    UPDATE_TIME AS `Updated`
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE
    DATE_SUB(NOW(), INTERVAL 3 DAY) < `UPDATE_TIME`
    AND `TABLE_SCHEMA` != 'INFORMATION_SCHEMA'
    AND `TABLE_TYPE` = 'BASE TABLE';