无论如何,我能得到一组表的最后更新时间吗?上一次更新时间,不仅是指表的模式更改时,而且是指任何行更改,甚至是在给定的表集中创建/删除行时。
我尝试了SELECT * FROM information_schema.tables
和SHOW TABLE STATUS FROM myDb
,我只看到了create_time
,这只是在创建表的时候。
我也可以创建触发器,例如:
CREATE TRIGGER tbl1_delete AFTER DELETE ON tbl1
FOR EACH ROW
BEGIN
UPDATE table_updates SET update_time = now() WHERE table_name = tbl1
END
但是,现在我必须一遍又一遍地重复这一点,以删除、更新、创建和更改模式。而且,我想为我所有的桌子自动完成这个任务!
发布于 2014-10-06 17:15:43
我有个有趣的消息要告诉你。您不能使用information_schema.tables,因为它不跟踪对InnoDB表的更改。
了解表何时更改的最佳方法是转到OS并获取每个表的最新时间戳。与其剽窃我自己的帖子,下面是我教你如何做到这一点的帖子
Sep 25, 2014
:想知道在过去的30天里使用了哪些数据库Jun 03, 2013
:有没有一种方法可以在架构中找到最近使用最少的表?Apr 04, 2013
:如何检查数据库(MYSQL)中哪些表在最后1小时/最后1分钟内更新?Dec 21, 2011
:检查InnoDB表是否已更改的最快方法试试看!
https://dba.stackexchange.com/questions/78507
复制相似问题