登录
首页 >  数据库 >  MySQL

记一次Mysql大表清理操作

来源:SegmentFault

时间:2023-02-16 15:36:03 188浏览 收藏

积累知识,胜过积蓄金银!毕竟在##column_title##开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《记一次Mysql大表清理操作》,就带大家讲解一下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;

找到一些非常大的表,对该表进行操作

数据库表名记录数数据容量(GB)索引容量(GB)
pccmdbcaf_tbyh_daily864560564404.20360.42
pccmdbcaf_tbyh_jbdaily207974565259.2090.78
pccmdbcaf_tbyh_jbcxqd710513371253.26237.65
pccmdbrg_to_crsp_yj7321262353.8042.18

如果有的大表师分区表,删除表分区的语句如下:

ALTER TABLE tablename DROP partition partitionname

到这里,我们也就讲完了《记一次Mysql大表清理操作》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于mysql的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>