我尝试了一个php
脚本,如:
$res=mysql_query("SELECT TABLE_NAME
FROM information_schema.'TABLES'
WHERE UPDATE_TIME > NOW() - INTERVAL 2 DAY
AND ABLE_SCHEMA = 'mvgis_lewiscounty'");
不工作
谁能指导我应该如何进行这个?
没有解决方案使用INFORMATION_SCHEMA同时适用于InnoDB和MyISAM。
不更新InnoDB表的UPDATE_TIME
。InnoDB表的更新时间有点主观。是上次有人做UPDATE
的时候吗?这是COMMIT
更新的时间吗?是将更改刷新到表空间的时间吗?
您最好使用shell命令,如:
$ find /var/lib/mysql -name '*.ibd' -mtime -1
另一个解决方案是所有表都有一个触发器来更新汇总表,每个表名一行,记录最新的INSERT/UPDATE/DELETE。
参见我如何知道MySQL表上次更新的时间?