[英]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.