我正在使用一个数据库,不幸的是有很多未使用的表,我正在尝试清理它.我正试图找到一种方法,让我可以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);
试试看 !!!