MySQL实现MYISAM表批量压缩的方法
本篇章节讲解MySQL实现MYISAM表批量压缩的方法。分享给大家供大家参考,具体如下: 关于对MYISAM表的压缩,可以使用myisampack和myisamchk完成(myisampack完之后必须进行myisamchk才能使用压缩后的表,而且是只读的), 其详细地用法可以参考官方文档: 这两个操作需要谨慎使用,在压缩之前需要确认mysqld已关闭或者要压缩的表不会有其他的sql操作;而且压缩过程会很占用cpu资源,建议在服务器空闲的状态进行。 下面是用于实现某数据库下表压缩的shell过程(值得注意的是,如果数据量大,建议分多次操作,因其会很耗时): #!/bin/bash data_dir="/data/mysql/my_dbname/" filelist=`ls $data_dir` echo "MYISAMPACK BEGIN." for filename in $filelist do idx=`expr match "$filename" ".*.MYI"` if [[ $idx>0 ]] then /usr/bin/myisampack $data_dir$filename fi done echo "MYISAMPACK End. MYISAMCHK BEGIN." for filename in $filelist do idx=`expr match "$filename" ".*.MYI"` if [[ $idx>0 ]] then /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename fi done echo "MYISAMCHK END." 更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》 希望本文所述对大家MySQL数据库计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServer Replication 常见错误
- sql-server – 将SQL Server备份到网络共享
- 解决 SQLSERVER 2008 无法删除作业
- sql-server – 在SQL Server nvarchar(UCS-2)列中
- sql – NHibernate – 错误的查询列
- sql-server-2005 – SQL Server,带截断的临时表和
- SQL2005中char nchar varchar nvarchar数据类型的
- MSSQLServer将远端数据库保存到本地
- SQLServer 2008以上误操作数据库恢复方法——日志
- sql – 如何将逗号分隔列表传递给存储过程?