如何检查一个myisam表的碎片的指标? 一个表由于长期插入删除,应该造成了很多空洞,碎片!在优化之前,我想看看它在这方面的具体指标,如何看? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.txdnet.cn/essay/view.jsp?tid=1257868519718&cid=2希望这篇文章对你有帮助 这个很难,一般是直接定时安装 optimize table脚本。 恢复和整理磁盘空间以及数据碎片 optimize table <tb_name>; --在MySQL Command Line Client执行 myisamchk [-a | --analyze] [- | --...] <tbfile_path> --在OS Command window执行,文件路径及文件名可以使用通配符 [-a] --通过分析键值的分布改进表联结性能 [-s | -ss] --沉默模式。当错误发生时仅写输出,-ss表示非常沉默 [-r] --恢复模式。可修复几乎所有一切,除非唯一的键不是唯一 [-d] --打印出关于表的一些信息 [-w] --如果表被锁定,等待 [-e] --非常彻底地检查表。这仅在极端情况下是必要的 [-v] --冗长模式。打印更多的信息。通常与-d和-e一起使用。为了更冗长,使用-v多次(-vv, -vvv) ... --其他选项略 常用选项示例: myisamchk *.MYI | myisamchk -a *.MYI | myisamchk -d -v *.MYI | myisamchk -s *.MYI OPTIMIZE当前只能用于MyISAM和BDB表,MYISAMCHK只能用于MyISAM表, ISAM表使用isamchk MYISAMCHK比OPTIMIZE速度更快更可靠 对于InnoDB类型的表整理可以通过导出表然后删除原表重新导入的方式,也可以通过将表类型改变为 MyISAM 然后再改为 InnoDB 的方式解决。 ●○●○orderby 时间字段排序 asc 结果为什么是乱的呢?急在线等 表数据合并问题。。。 mysql意外终止 小于某个数的降序sql怎么写? 左外链接两表字段重复的问题. 两个执行效率问题 mysql安装在linux中,现在想改变数据库存放的路径,该怎么做? 如何删除当前记录? MySQL中如何运行.sql脚本? 一个有关sql查询的问题,请指教。急! MYSQL update 有没有这种语法 请问MySql中如何判断时间段内是否有重复?
希望这篇文章对你有帮助
恢复和整理磁盘空间以及数据碎片
optimize table <tb_name>; --在MySQL Command Line Client执行
myisamchk [-a | --analyze] [- | --...] <tbfile_path> --在OS Command window执行,文件路径及文件名可以使用通配符
[-a] --通过分析键值的分布改进表联结性能
[-s | -ss] --沉默模式。当错误发生时仅写输出,-ss表示非常沉默
[-r] --恢复模式。可修复几乎所有一切,除非唯一的键不是唯一
[-d] --打印出关于表的一些信息
[-w] --如果表被锁定,等待
[-e] --非常彻底地检查表。这仅在极端情况下是必要的
[-v] --冗长模式。打印更多的信息。通常与-d和-e一起使用。为了更冗长,使用-v多次(-vv, -vvv)
... --其他选项略
常用选项示例:
myisamchk *.MYI | myisamchk -a *.MYI | myisamchk -d -v *.MYI | myisamchk -s *.MYI
OPTIMIZE当前只能用于MyISAM和BDB表,MYISAMCHK只能用于MyISAM表, ISAM表使用isamchk
MYISAMCHK比OPTIMIZE速度更快更可靠
对于InnoDB类型的表整理可以通过导出表然后删除原表重新导入的方式,也可以通过将表类型改变为 MyISAM 然后再改为 InnoDB 的方式解决。