首页 新闻 会员 周边

MySQL数据库的内容(几乎全部)删除后,还占用很大空间

0
悬赏园豆:10 [已解决问题] 解决于 2016-03-03 17:04

数据库,原来有很多数据,现在把数据大部分删除了,可是数据库文件反而变得很大.

原来大概是5G左右,现在居然变成了12G!!!

怎样才能让他占用的空间变得正常啊???

 

如图:

下面是数据库详情:

leungcnblogs的主页 leungcnblogs | 初学一级 | 园豆:162
提问于:2015-11-07 10:56
< >
分享
最佳答案
1

优化一下表:

OPTIMIZE TABLE 数据库表名;

也可以这样批量生成优化所有表的SQL,再复制出来执行:

SET group_concat_max_len=200000;
SELECT GROUP_CONCAT('OPTIMIZE TABLE ',TABLE_NAME SEPARATOR ';') FROM information_schema.TABLES WHERE TABLE_SCHEMA=SCHEMA();

收获园豆:10
王俊杰 | 菜鸟二级 |园豆:212 | 2015-11-07 14:01
其他回答(2)
0

收缩一下数据库吧

何德海 | 园豆:481 (菜鸟二级) | 2015-11-07 11:48
0

优化整理表空间

OPTIMIZE TABLE 来回收未使用的空间,并整理数据文件的碎片。
但是 OPTIMIZE TABLE只对MyISAM, BDB表起作用,。
innodb的数据库不支持optimize,可以用
ALTER TABLE tableName ENGINE='InnoDB'
该方法会对旧表以复制的方式新建一个新表,然后删除旧表。虽然这个过程是安全的,但是在进行操作时还是先进行备份为好。
然后对表的索引信息做重新统计
analyze table tableName

_Ong | 园豆:202 (菜鸟二级) | 2021-02-25 18:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册