当前位置:网站首页>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临时表,所以磁盘剩余空间必须大于表空间,否则会执行失败。
边栏推荐
猜你喜欢
随机推荐
kubernetes pod podsecurityPolicies(PSP)
Flink优化及相关
【c】操作符详解(一)
源码构建LAMP环境-2
Summary of @Transactional transaction invocation and effective scenarios
go 反射 reflect 包
LeetCode 2359. 找到离给定两个节点最近的节点 基环树
Flink-shell
golang刷leetcode:最大波动的子字符串
H.265视频流媒体播放器EasyPlayer.js集成时出现“SourceBuffer ”报错,该如何解决?
Sentinel vs Hystrix 限流对比,到底怎么选?
【学习笔记】博弈论
UDP(用户数据报协议)
I interviewed a 985 graduate, and I will never forget the expression when answering the "performance tuning" question
命令行启动常见问题及解决方案
字节内部技术图谱 惊艳级实用
go 序列化与反序列化
双轴晶体中的锥形折射
你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!
Flink-SQL