MySQL找到未使用的表

我正在使用一个数据库,不幸的是有很多未使用的表,我正在尝试清理它.我正试图找到一种方法,让我可以100%确信某个特定的桌子不再被使用.

经过一些谷歌搜索,我仍然找不到一个好方法.我只能通过以下方式告诉最后一次写入表(INSERT,UPDATE等):

SHOW TABLE STATUS或在mysql datadir上运行ls -lt(可以通过运行SHOW VARIABLES LIKE’datadir’找到;)

你有什么其他的建议?

谢谢.

最佳答案 尝试使用INFORMATION_SCHEMA.TABLES

有一个名为UPDATE_TIME的列

检查该字段中的日期

如果为NULL,则表自创建表以来从未更新过

示例:过去10天内未更新的表列表

select table_schema,table_name,create_time,update_time from information_schema.tables where table_schema not in ('information_schema','mysql') and engine is not null and ((update_time < (now() - interval 10 day)) or update_time is null);

试试看 !!!

点赞