Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta para encontrar tabelas modificadas na última hora


O MySQL 5.x pode fazer isso através do banco de dados INFORMATION_SCHEMA. Este banco de dados contém informações sobre tabelas, visualizações, colunas, etc.
SELECT * 
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE 
    DATE_SUB(NOW(), INTERVAL 1 HOUR) < `UPDATE_TIME`

Retorna todas as tabelas que foram atualizadas (UPDATE_TIME) na última hora. Você também pode filtrar pelo nome do banco de dados (coluna TABLE_SCHEMA).

Um exemplo de consulta:
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';