按MySQL

时间:2016-02-22 17:56:35

标签: mysql database-administration

我有一个包含约200个表的数据库,我想要审核以确保表不会变得太大。

我知道我可以轻松地了解我想要的许多表属性(大小以MB为单位,行,行长度,数据长度等):

SHOW TABLE STATUS FROM myDatabaseName;

但它遗漏了我所追求的一条关键信息:在给定时间段内每张表添加了多少行?

我的记录每个都包含匹配格式的datestamp列,如果有帮助的话。

编辑:基本上,我想要类似的东西:

 SELECT COUNT(*) 
 FROM * 
 WHERE datestamp BETWEEN [begindate] AND [enddate] 
 GROUP BY tablename

2 个答案:

答案 0 :(得分:0)

以下内容可用于获取给定时间段内给定表格的输入行数:

select count(*) from [tablename] where datestamp between [begindate] and [enddate]

答案 1 :(得分:0)

经过一些研究后,看起来这在MySQL中是不可能的,因为它需要大量的表读取(毕竟,用户之间的行数可能不同)。

相反,我抓住了写入表中的所有作业的事务日志,并且我将解析它们。有点hacky,但它确实有效。