转载:http://hi.baidu.com/icarusli/blog/item/14d04145ce73d134869473be.html
当库中删除了大量的数据后,可能会发现数据文件尺寸并没有减小。这是因为删除操作后在数据文件中留下碎片所致。在做完批量删除,或定期(如每一两个月)进行一次数据表优化操作即可。
OPTIMIZE TABLE通过制作原来的表的一个临时副本来工作
OPTIMIZE TABLE语法:
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
如果已经删除了表的一大部分,或者对含有可变长度行的表(含有 VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。应该使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
对于MyISAM表,OPTIMIZE TABLE按如下方式操作:
1.如果表已经删除或分解了行,则修复表。
2.如果未对索引页进行分类,则进行分类。
3.如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。
对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。重建操作能更新索引统计数据并释放成簇索引中的未使用的空间。请参见13.5.2.1节,“ANALYZE TABLE语法”。
使用—skip-new或—safe-mode选项可以启动mysqld。通过启动mysqld,您可以使OPTIMIZE TABLE对其它表类型起作用。
注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。
OPTIMIZE TABLE语句被写入到二进制日志中,除非使用了自选的NO_WRITE_TO_BINLOG关键词(或其别名LOCAL)。已经这么做了,因此,用于 MySQL服务器的OPTIMIZE TABLE命令的作用相当于一个复制主服务器,在默认情况下,这些命令将被复制到复制从属服务器中。
分享到:
相关推荐
查询mysql表是否被损坏命令,如下: ...OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行
本篇文章是对Mysql中OPTIMIZE TABLE的作用进行了详细的分析介绍,需要的朋友参考下
主要介绍了实现MySQL定时批量检查表repair和优化表optimize table的shell脚本,非常实用,需要的朋友可以参考下
System Optimize Tools V1.0.1 System Optimize Tools V1.0.1 System Optimize Tools V1.0.1 System Optimize Tools V1.0.1 System Optimize Tools V1.0.1 System Optimize Tools V1.0.1 System Optimize Tools V...
如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间。 运行OPTIMIZE TABLE 表名后,虽然最后会报...
对于不同的存储引擎整理碎片的方式不一样。myisam可以有以下方式:mysql> show table status from test like ‘testusers’\G*************************** 1. row *************************** …. Rows: 3 Avg_...
WP-Optimize插件就是帮你解决这个问题的,它可以优化和删除那些存在于数据库中的冗余数据,它具有以下特点: •删除修改后的WordPress中的冗余数据 •删除所有评论中的垃圾数据 •删除无效的留言 •为你的用户...
SSD Optimize v1.1 Build 823. SSD盘优化工具
Laravel开发-laravel-optimize-images Laravel 4的优化图像命令
禁用任务计划程序自启项关闭系统保护、禁止运行计算机自动维护计划关闭家庭组、延迟启动Superfetch服务关闭客户体验改善计划、隐藏操作中心任务...不等待直接删除文件不进入回收站、关闭磁盘碎片整理计划禁用疑难解答...
前端开源库-node-optimize节点优化,将一个节点项目优化为一个JS文件,以供发布。
Registry Optimize(挺强的系统整理工具)
V1.0.1System Optimize Tools V1.0.1.exe网管工具
Asmw PC-Optimize Pro是一个优秀的系统优化软件,保证让...它可以清理注册表、加密和解密文件,将硬盘整理分册,除尽垃圾文件和零空间大小文件,并改变脚本设置。另外,可以删除导航轨迹,清除隐藏历史记录和cookies。
用gulp amd-optimize插件构建requriejs模块
python利用scipy的optimize实现非线性最小二乘算法进行球心拟合
OPTIMIZE PI使用指南