当前位置:网站首页>MySQL删除数据后,释放磁盘空间
MySQL删除数据后,释放磁盘空间
2022-08-02 21:43:00 【怪只怪满眼尽是人间烟火】
drop table table_name 立刻释放磁盘空间 , Innodb和MyISAM;
truncate table table_name 立刻释放磁盘空间, Innodb和MyISAM,truncate table其实有点类似于drop table 然后create;
delete from table_name 不会释放磁盘空间, Innodb和MyISAM, 新insert的数据会插入到原来的位置,比如删除100万数据后,数据文件不会变小,重新插入一百万数据后,数据文件不会变大。
可以在删除掉数据后执行下面语句,会立刻释放磁盘空间,但该操作会锁定表结构
optimize table table_name查看表占用硬盘空间大小的SQL语句如下:(默认用M做展示单位)
SELECT
TABLE_NAME,
( DATA_LENGTH + INDEX_LENGTH )/ 1048576 AS size_Mb,
TABLE_ROWS
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'还可以执行:
alter table tab_name ENGINE = 'InnoDB';
注意:该操作执行的时候会把该表格先写入一个tmp临时表,所以磁盘剩余空间必须大于表空间,否则会执行失败。
边栏推荐
猜你喜欢
随机推荐
成功解决TypeError: can‘t multiply sequence by non-int of type ‘float‘
若依集成minio实现分布式文件存储
golang刷letcode:公司命名
SSM integration steps (emphasis)
【TypeScript】深入学习TypeScript类(下)
go 反射 reflect 包
[TypeScript] Deep Learning of TypeScript Classes (Part 1)
RuoYi-App启动教程
双轴晶体中的锥形折射
Zabbix 5.0 监控教程(二)
SRv6网络演进面临的挑战
Swin Transformer 论文精读,并解析其模型结构
Byte's internal technical map is amazing and practical
我用这一招让团队的开发效率提升了 100%!
H.265视频流媒体播放器EasyPlayer.js集成时出现“SourceBuffer ”报错,该如何解决?
golang刷letcode:公平分发饼干
JumpServer开源堡垒机完成龙芯架构兼容性认证
工厂模式理解了没有?
Add and delete all these years, finally planted in MySQL architecture design!
主成分分析(PCA)









