1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MySQL删除数据后 释放磁盘空间

MySQL删除数据后 释放磁盘空间

时间:2024-05-21 18:41:04

相关推荐

MySQL删除数据后 释放磁盘空间

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做展示单位)

SELECTTABLE_NAME,( DATA_LENGTH + INDEX_LENGTH )/ 1048576 AS size_Mb,TABLE_ROWS FROMinformation_schema.TABLES WHERETABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name'

还可以执行:

alter table tab_name ENGINE = 'InnoDB';

注意:该操作执行的时候会把该表格先写入一个tmp临时表,所以磁盘剩余空间必须大于表空间,否则会执行失败。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。