社区
MySQL
帖子详情
mysql删除后,数据文件没有减少
lshfong
2011-10-24 08:45:58
数据表文件是MYISAM格式,有1.8个G,删除100万条数据后,文件还是1.8G,没见减小,怎么回事啊
...全文
55
5
打赏
收藏
mysql删除后,数据文件没有减少
数据表文件是MYISAM格式,有1.8个G,删除100万条数据后,文件还是1.8G,没见减小,怎么回事啊
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rucypli
2011-10-24
打赏
举报
回复
alter一下表
alter表的过程相当如导入临时表 然后删除原表 改名临时表 因此可以减少表大小
alter table tbnmae engine=myisam;
加油馒头
2011-10-24
打赏
举报
回复
REPAIR TABLE call
语法问题,看错提示
dreamhunter_lan
2011-10-24
打赏
举报
回复
REPAIR TABLE call, tel
lshfong
2011-10-24
打赏
举报
回复
repair call,tel
我这样写报错
====================================
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
ACMAIN_CHM
2011-10-24
打赏
举报
回复
不会自动减少。 你可以 repair table table1一下。
MYSQL
Delete
删除
数据后物理磁盘空间未
减少
解决
起因: 数据表中保存日志信息比较多,一个表站用好几个G的空间,想清理掉三个月以前的数据,但清理后发现物理磁盘站用空间并
没有
减少
。 原因是使用delete
删除
的时候,
mysql
并
没有
把
数据文件
删除
,而是将
数据文件
的标识位
删除
,
没有
整理文件,因此不会彻底释放空间。被
删除
的数据将会被保存在一个链接清单中,当有新数据写入的时候,
mysql
会利用这些已
删除
的空间再写入。即,
删除
操作会带来一些数据碎片,正是这...
MySQL
删除
数据 文件大小不变的原因以及处理空洞问题
在
MySQL
中,
删除
数据后文件大小不变是一个常见现象,尤其是对于底层存储引擎InnoDB来说。这本质上与InnoDB的数据存储机制有关,以及
MySQL
如何有效利用磁盘空间。理解这一点需从以下几个方面进行详解。
mysql
删除
数据后为什么不变小_
MySQL
删除
数据,表文件大小依然没变的原因
对于运行很长时间的数据库来说,往往会出现表占用存储空间过大的问题,可是将许多没用的表
删除
之后,表文件的大小并
没有
改变,想解决这个问题,就需要了解 InnoDB 如何回收表空间的。对于一张表来说,占用空间重要分为两部分,表结构和表数据。通常来说,表结构定义占用的空间很小。所以空间的问题主要和表数据有关。在
MySQL
8.0 前,表结构存储在以 .frm 为后缀的文件里。在 8.0,允许将表结构定义...
表数据
删除
了一半,表文件大小却不变?
MySQL
删除
执行流程
本文讨论的就如题目所示,为什么在
MySQL
中,把表数据
删除
了一半,表文件大小却不变的?以下讨论前提都是使用InnoDB存储引擎,使用DELETE
删除
,并非。
为什么删掉
MySQL
表中一半的数据,表文件大小却不变?
由参数innodb_file_per_table控制,这个参数值为OFF,则表示存放在系统共享表空间里,也就是跟数据字典放在一起,值为ON,则表示每个InnoDB表数据存储在一个以.ibd为后缀的文件中。如果数据是按照索引递增顺序插入的,则索引是紧凑的,但是如果数据是随机插入的,就可能造成索引的数据页分裂,就会造成空洞。在
MySQL
中当
删除
一条数据时,InnoDB引擎只会把R4这个记录标记为
删除
,如果之后要再插入一个ID在300和600之间的记录时,可能会复用这个位置,但是磁盘文件的大小并不会缩小。
MySQL
56,914
社区成员
56,754
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章