MYSQL数据删除数据,物理空间没释放详解数据库
当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。OPTIMIZE TABLE 是指对表进行优化。如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR 、 BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化。这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 。OPTIMIZE TABLE 命令只对 MyISAM 、 BDB 和 InnoDB 表起作用 。表优化的工作可以每周或者每月定期执行,对提高表的访问效率有一定的好处,但是需要注意的是,优化表期间会锁定表,所以一定要安排在空闲时段进行。
结合mysql官方网站的信息,个人是这样理解的。当你删除数据 时,mysql并不会回收,被已删除数据的占据的存储空间,以及索引位。而是空在那里,而是等待新的数据来弥补这个空缺,这样就有一个缺少,如果一时半 会,没有数据来填补这个空缺,那这样就太浪费资源了。所以对于写比较频烦的表,要定期进行optimize,一个月一次,看实际情况而定了。
举个例子来说吧。有100个php程序员辞职了,但是呢只是人走了,php的职位还在那里,这些职位不会撤销,要等新的php程序来填补这些空位。招一个好的程序员,比较难。我想大部分时间会空在那里。哈哈。
具体操作:打开Mysql命令行,输入数据库密码,进入要操作的数据库(命令行是:use databaseName;),然后运行optimize table tableName;
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/4842.html
mysql相关文章
- MySQL表缓存:提升数据库性能的可行方案(mysql表缓存)
- MySQL数据库查看:强大而便捷的工具(mysql数据库查看工具)
- 使用MySQL增加主键约束(mysql加主键)
- MySQL中灵活使用插入结果集来实现数据更新(mysql插入结果集)
- MySQL配置UUID:解决数据一致性问题(mysql设置uuid)
- MySQL字符串截取的实践方法(mysql字符截取)
- 学会使用MySQL数据库中的常用命令(mysql数据库常用命令)
- MySQL自动锁表,安全优势无可比(mysql自动锁表)
- MySQL中的内存管理与优化(内存与mysql)
- MySQL建库脚本:构建完美数据库(mysql建库脚本)
- MySQL如何建立新账号(mysql建账号)
- MySQL日志恢复:保护数据库安全(mysql日志恢复数据库)
- MySQL:强大的数据库功能之旅(mysql有哪些功能)
- 探索 MySQL 中国用户组:聚集MySQL爱好者,共享技术经验(mysql中国用户组)
- MySQL锁行查询技巧:高效实现数据并发操作(mysql锁行查询)
- 深入了解MySQL数据库函数,助您高效开发(mysql数据库函数详解)
- MySQL数据库格式化:获得稳定可靠的数据结构(mysql数据库格式化)
- MySQL驱动实现Birt数据库报表功能(birt mysql驱动)
- Bat工具轻松打开MySQL数据库(bat手动打开mysql)
- MySQL数据库范式详解(mysql三个范式举例)
- MySQL与XML参数化提高数据库操作效率(mysql xml参数化)
- Mysql数据库管理利器Xmind思维导图教你轻松学习(mysql xmind)
- MySQL源码下载指南快速获得高质量数据库工具(mysql下载源码)
- MySQL数据库不支持IP地址链接,解决方案如何(mysql不支持ip链接)