记一次Mysql大表清理操作

生产的数据库有很多大表,数据量非常大已经对系统稳定产生影响。经过沟通,这些表中之前存放每天的数据,改为只存放每个月最后一天的数据。
下面记录一些常用的查询大表操作语句
查看所有数据库的大小

select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024/1024, 2)) as '数据容量(GB)', sum(truncate(index_length/1024/1024/1024, 2)) as '索引容量(GB)' from information_schema.tables group by table_schema order by sum(data_length) desc, sum(index_length) desc;

查看所有表的大小并排序
select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024/1024, 2) as '数据容量(GB)', truncate(index_length/1024/1024/1024, 2) as '索引容量(GB)' from information_schema.tables order by data_length desc, index_length desc;

【记一次Mysql大表清理操作】找到一些非常大的表,对该表进行操作
数据库 表名 记录数 数据容量(GB) 索引容量(GB)
pccmdb caf_tbyh_daily 864560564 404.20 360.42
pccmdb caf_tbyh_jbdaily 207974565 259.20 90.78
pccmdb caf_tbyh_jbcxqd 710513371 253.26 237.65
pccmdb rg_to_crsp_yj 73212623 53.80 42.18

    推荐阅读