在MySQL中按表统计每日行数
我有一个包含约200个表的数据库,我希望对其进行审计,以确保这些表不会变得太大 我知道我可以很容易地了解我想要的许多表属性(以MB为单位的大小、行数、行长、数据长度等): 但它缺少了我想要的一个关键信息:在给定的时间段内,每个表中添加了多少行? 我的每个记录都包含一个匹配格式的在MySQL中按表统计每日行数,mysql,database-administration,Mysql,Database Administration,我有一个包含约200个表的数据库,我希望对其进行审计,以确保这些表不会变得太大 我知道我可以很容易地了解我想要的许多表属性(以MB为单位的大小、行数、行长、数据长度等): 但它缺少了我想要的一个关键信息:在给定的时间段内,每个表中添加了多少行? 我的每个记录都包含一个匹配格式的日期戳列(如果有帮助的话) 编辑:本质上,我想要的是: SELECT COUNT(*) FROM * WHERE datestamp BETWEEN [begindate] AND [enddate] GRO
日期戳
列(如果有帮助的话)
编辑:本质上,我想要的是:
SELECT COUNT(*)
FROM *
WHERE datestamp BETWEEN [begindate] AND [enddate]
GROUP BY tablename
在给定的时间段内,为给定的表输入以下行数:
select count(*) from [tablename] where datestamp between [begindate] and [enddate]
在给定的时间段内,为给定的表输入以下行数:
select count(*) from [tablename] where datestamp between [begindate] and [enddate]
经过一点研究,这在MySQL中似乎是不可能的,因为它需要大量的表读取(毕竟,不同用户的行数可能不同)
相反,我抓取了所有写入表中的作业的事务日志,并对它们进行解析。有点老套,但它可以工作。经过一点研究,在MySQL中似乎不可能做到这一点,因为它需要大量的表读取(毕竟,不同用户的行数可能不同)
相反,我抓取了所有写入表中的作业的事务日志,并对它们进行解析。有点老套,但它可以工作。我想要的是对每个表运行此功能,比如:
SELECT COUNT(*)FROM*WHERE datestamp FROM[begindate]和[enddate]GROUP BY tablename
我想要的是对每个表运行此功能,比如:SELECT COUNT(*)FROM*WHERE datestamp FROM[begindate]和[enddate]按表名分组