我有一个包含约200个表的数据库,我想要审核以确保表不会变得太大。
我知道我可以轻松地了解我想要的许多表属性(大小以MB为单位,行,行长度,数据长度等):
SHOW TABLE STATUS FROM myDatabaseName;
但它遗漏了我所追求的一条关键信息:在给定时间段内每张表添加了多少行?
我的记录每个都包含匹配格式的datestamp
列,如果有帮助的话。
编辑:基本上,我想要类似的东西:
SELECT COUNT(*)
FROM *
WHERE datestamp BETWEEN [begindate] AND [enddate]
GROUP BY tablename
答案 0 :(得分:0)
以下内容可用于获取给定时间段内给定表格的输入行数:
select count(*) from [tablename] where datestamp between [begindate] and [enddate]
答案 1 :(得分:0)
经过一些研究后,看起来这在MySQL中是不可能的,因为它需要大量的表读取(毕竟,用户之间的行数可能不同)。
相反,我抓住了写入表中的所有作业的事务日志,并且我将解析它们。有点hacky,但它确实有效。