[英]Get the list of tables updated in last 24 hours of a database in MySQL with engine myisam or innodb
我试过像这样的php
脚本:
$res=mysql_query("SELECT TABLE_NAME
FROM information_schema.'TABLES'
WHERE UPDATE_TIME > NOW() - INTERVAL 2 DAY
AND ABLE_SCHEMA = 'mvgis_lewiscounty'");
这是行不通的。
任何人都可以指导我如何处理这个?
没有使用适用于InnoDB和MyISAM的INFORMATION_SCHEMA的解决方案。
InnoDB表的UPDATE_TIME
未更新。 InnoDB表的更新时间是主观的。 是时候有人上次UPDATE
吗? 是时候更新是COMMIT
ed了吗? 是将更改刷新到表空间的时间吗?
你最好使用shell命令,如:
$ find /var/lib/mysql -name '*.ibd' -mtime -1
另一种解决方案是让所有表都有一个触发器,用于更新每个表名一行的汇总表,以记录最新的INSERT / UPDATE / DELETE。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.