`

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

阅读更多

MySQL删除数据几种情况以及是否释放磁盘空间:

 

1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ;

 

2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后creat,只不过这个create table 的过程做了优化,比如表结构文件之前已经有了等等。所以速度上应该是接近drop table的速度;

 

3、delete from table_name删除表的全部数据,对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理),InnoDB 不会释放磁盘空间;

 

4、对于delete from table_name where xxx带条件的删除, 不管是innodb还是MyISAM都不会释放磁盘空间;

 

5、delete操作以后使用optimize table table_name 会立刻释放磁盘空间。不管是innodb还是myisam 。所以要想达到释放磁盘空间的目的,delete以后执行optimize table 操作。

6、delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。

分享到:
评论

相关推荐

    Mysql InnoDB删除数据后释放磁盘空间的方法

    MySQL的InnoDB存储引擎在处理数据删除时,采用了一种称为“空间回收”的机制,它并不立即释放被删除记录所占用的空间,而是将其标记为可用。这种设计在高并发环境下提高了系统的性能,避免了频繁的磁盘I/O操作。然而...

    实战mysql innodb 删除数据后释放磁盘

    Innodb 删除数据后释放磁盘空间 InnoDB 是 MySQL 中的一种存储引擎,它具有高性能和可靠性的特点。然而,在 InnoDB 中,删除数据后,并不会真正释放磁盘空间,而是将其标记为删除。这就导致 InnoDB 数据库文件不断...

    MySQL 中如何优化表释放表空间

    3. 删除数据并不会立即释放磁盘空间,因为MySQL只会标记数据为已删除,而不会实际清理。这会导致数据碎片,占用额外的硬盘空间。 数据碎片的清理: 要清理因删除操作产生的数据碎片,官方推荐使用`OPTIMIZE TABLE`...

    Mysql删除数据以及数据表的方法实例

    在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失。 删除数据 删除表内数据,使用delete关键字。 删除指定条件的数据 删除用户表内id 为1 的用户: delete from User ...

    Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

    然而,InnoDB引擎在某些情况下存在一个已知的问题,即当使用单文件存储(即`ibdata1`文件)时,即使删除数据,文件的容量也不会自动减少。这可能会导致磁盘空间被大量占用且无法释放,尤其是在长时间运行和频繁修改...

    MySQL海量数据查询优化策略.

    24. 在必要时清理数据:定期使用TRUNCATE TABLE或DROP TABLE配合CREATE TABLE来清理和重置数据表,可以释放大量空间。 25. 使用存储过程和函数的正确性:存储过程和函数的合理使用可以减少客户端和服务器间的通信...

    MySQL 删除大表的性能问题解决方案

    在这种情况下,删除表并不会释放表所占用的磁盘空间,因此Buffer Pool中的相关数据页也不会被丢弃,这可以避免长时间的hang现象。 2. 当`innodb_file_per_table`设置为1时,每个表都有独立的数据文件。这时,删除大...

    ubuntu下磁盘空间不足导致mysql无法启动的解决方法

    在Ubuntu系统中,MySQL数据库的正常运行依赖于足够的磁盘空间。当磁盘空间不足时,可能会导致一系列问题,如数据库无法启动、服务启动失败等。这种情况通常会体现在尝试连接MySQL时收到错误提示,比如"Can't connect...

    MySQL笔记,小赵同学整理

    - 即使使用DELETE命令删除数据后没有立即释放磁盘空间,新的数据插入仍然可以使用这部分空间。 这些知识点的总结涵盖了MySQL基础操作的方方面面,包括数据库和数据表的创建与删除,数据的增删改查操作,以及对表的...

    快速安全删除MySQL大表

    3. **手动删除表文件释放磁盘空间:** 当不再需要表时,可以手动删除这些文件以释放磁盘空间。 #### 二、创建硬链接 创建硬链接的具体步骤如下: 1. **确定 MySQL 数据目录:** 使用命令 `mysql -u root -p123456...

    阿里云mysql空间清理的方法

    4. 释放空间:删除数据后,使用OPTIMIZE TABLE命令整理表空间,释放被删除数据占用的空间。 5. 监控磁盘空间:在清理过程中,实时监控磁盘空间的使用情况,确保有足够的空间来支持OPTIMIZE TABLE命令的执行。 6. ...

    MySQL5.6安装及卸载

    卸载后,你可能需要手动删除这些文件夹以释放磁盘空间。 6. **重启计算机**:完成上述步骤后,建议重启电脑以确保所有更改生效。 总结,安装MySQL 5.6涉及下载安装包、运行安装向导、配置服务器和验证安装。而卸载...

    MySQL 是怎样运行的:从根儿上理解 MySQL(上).pdf

    B+树是InnoDB的主要索引结构,它提供了快速查找、插入和删除数据的能力。每个节点可以包含多个键值,叶子节点包含指向实际数据的指针,非叶子节点则指向子节点,确保数据的高效访问。 7. **B+树索引的使用** B+树...

    mysql数据库如何实现亿级数据快速清理

    - **常规DELETE语句**:通常不推荐直接使用DELETE语句大量删除数据,因为它的速度与索引量有关,且删除过程中不会释放磁盘空间。 - **重建表**:一个有效的方法是先创建一个新表,保留需要的数据,然后删除旧表...

    一个MySQL数据备份/恢复的简易方法

    - 恢复完毕后,删除临时文件以释放磁盘空间。 这个简易方法的优点在于操作简单,易于理解和实施,尤其适合那些对数据库管理不熟悉的用户。然而,它也有一些局限性,比如没有结构备份,可能导致恢复时的问题;同时...

    几个缩减MySQL以节省磁盘空间的建议

    表中的数据经过多次的删除和插入操作后,可能会造成数据碎片化,影响数据库的性能。定期维护可以帮助数据库更高效地使用空间,并保持数据的连续存储。 除了以上措施,在某些情况下,我们还可以考虑使用压缩表。...

    mysql.data.dll

    在Unity中导入MySQL.data.dll后,开发者可以利用C#编程语言编写代码,通过这个库提供的类和方法来执行SQL语句,进行数据的CRUD(创建、读取、更新、删除)操作。 使用MySQL.data.dll的关键步骤如下: 1. **安装和...

Global site tag (gtag.js) - Google Analytics