查询数据库表记录数

select table_name,table_rows from  information_schema.`TABLES` order by table_rows desc LIMIT 20

个别表的数据太大了,这才运行半年多吧,这样下去不知道数据库会不会有问题 

大致看了下数据,发现模拟量上传的数据一分钟就会存储一次,从5月份到10月份,仅仅5个月就有一千多万的数据,不记得当初客户为什么要求一分钟就存储一次实时数据,目前协商是决定30分钟存储一次,这样以后的数据存储量会减小很多。

之前已经存储过的数据,我决定删减一部分,只留下10分钟一次的数据,也就是保留分钟数为 00、10、20、30、40、50 的数据

# SELECT count(*) from tip_s_analogstatusinfo WHERE MINUTE(writedatetime)=2

DELETE FROM tip_s_analogstatusinfo WHERE MINUTE(writedatetime)=6

 

这里是一分钟一分钟的数据删的,其实也可以1-9、11-19这样子,一个范围的数据删除,或者采取不等于的方式,或者用in,都可以,但是分钟数等于6的就有22万多,用了10秒多,太多一起删的话,要等好久。

查看删除之后的数据量,从一千多万降到了一百多万:

select table_name,table_rows from  information_schema.`TABLES` WHERE TABLE_SCHEMA="mymango" order by table_rows desc LIMIT 20

 

posted @ 2020-10-19 17:47  1156740846  阅读(578)  评论(0编辑  收藏  举报