T086学习网 | 站长学院 | 技术文档 | 成语 | 歇后语 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论 | 欣欣百宝箱

myisampack:生成压缩、只读MyISAM表

【 更新时间:2011-01-19 | 字体:
[导读]myisampack工具可以压缩MyISAM表.MYIsampack分别压缩表中的每一列。通常,myisampack可以将数据文件压缩到40%-70%。 当以后使用表时,解压缩列需要的信息被读入内存。当访问具体的记录时性能会更好,因为你只需要解压...

myisampack工具可以压缩MyISAM表.MYIsampack分别压缩表中的每一列。通常,myisampack可以将数据文件压缩到40%-70%。

当以后使用表时,解压缩列需要的信息被读入内存。当访问具体的记录时性能会更好,因为你只需要解压缩一个记录。

MySQL使用mmap()对压缩的表进行内存映射。如果mmap()不工作,MySQL返回到普通读/写文件操作。

请注意:

如果用--skip-external-locking选项调用mysqld服务器,如果在压缩过程中表可能被更新,调用myisampack不是一个好注意。
表压缩后,它变为只读。这是故意的(例如当访问CD上的压缩的表时)。允许写入到压缩的表位于我们的TODO列表中,但优先级较低。
myisampack可以压缩BLOB或TEXT列。旧版本ISAM表的pack_isam程序不可以。
调用myisampack的方法:

shell> myisampack [options] filename ...
文件名应为索引(.MYI)文件的文件名。如果不在数据库目录,应指定文件的路径名。允许忽略.MYI扩展名。

myisampack支持下面的选项:

 --help,-?
显示帮助消息并退出。
 --backup,-b
使用tbl_name.OLD名备份表数据文件。
---debug[=debug_options],-# [debug_options]
写调试日志。debug_options字符串通常为'd:t:o,file_name'。
--force,-f
产生一个压缩的表,即使它比原始表大,或如果以前调用myisampack的中间文件存在。(myisampack压缩表时在数据库目录中创建一个名为tbl_name.TMD的中间文件。如果杀掉myisampack,.TMD文件会被删除)。通常情况,如果myisampack发现tbl_name.TMD存在则退出并提示错误。用--force,myisampack则一定压缩表。
-join=big_tbl_name,-j big_tbl_name
将命令行中的所有表联接为一个表big_tbl_name。将要连接的所有表必须有相等的结构(相同的列名和类型,相同的索引等等)。
--pack length=len,-p len
指定记录长度存储大小,以字节计。值应为1、2或者3。myisampack保存所有长度指针为1、2或者3字节的行。在大多数正常情况下,myisampack在开始压缩文件前可以确定准确的长度值,但在压缩过程中它可以提示它可能已经使用了一个短的长度。在这种情况下,myisampack输出一条提示,下次你压缩同一文件时,你可以使用更短的记录长度。
--silent,-s
沉默模式。只有发生错误时才写输出。
--test,-t
没有实际地压缩表,只是测试压缩。
--tmpdir=path,-T path
使用myisamchk创建临时文件的目录。
--verbose,-v
冗长模式。写压缩操作过程相关信息和其结果。
--version,-V
显示版本信息并退出。
--wait,-w
如果表正使用则等待并重试。如果用--skip-external-locking选项调用了mysqld服务器,如果在压缩过程中表可能被更新,调用myisampack不是一个好主意。
运行myisampack后,必须运行myisamchk以重新创建索引。此时,你也可以排序索引块并创建MySQL优化器需要的统计信息以更有效地工作:

shell> myisamchk -rq --sort-index --analyze tbl_name.MYI
将压缩的表安装到MySQL数据库目录中后,应执行mysqladmin flush-tables以强制mysqld使用新的表。

要想解压缩一个压缩的表,使用myisamchk或isamchk的--unpack选项。

  • 转载请注明来源:IT学习网 网址:http://www.t086.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
更多
留言建议ASP探针PHP探针站长Enjoy的Blog
© 2017 T086学习网 - T086.com(原itlearner.com)
RunTime:7.99ms QueryTime:7