Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6683723
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: Mysql/postgreSQL

2014-08-20 11:01:25

  Myisam引擎支持对表的压缩,压缩后的空间上比压缩前会减少60%-70%,但是压缩后的表是只读的,这个要注意,根据使用场景判断是否需要压缩,下面是一个压缩的例子.

1.压缩前前的情况
[mysql@node2 hxl]$ ls -al tb_dic_class_myisam*
-rw-r----- 1 mysql mysql     8694 08-15 10:39 tb_dic_class_myisam.frm
-rw-r----- 1 mysql mysql 31599964 08-20 10:08 tb_dic_class_myisam.MYD
-rw-r----- 1 mysql mysql 34070528 08-20 10:08 tb_dic_class_myisam.MYI


2.进行压缩
[mysql@node2 ~]$  myisampack /var/lib/mysqldata/hxl/tb_dic_class_myisam.MYI
Compressing /var/lib/mysqldata/hxl/tb_dic_class_myisam.MYD: (1000000 records)
- Calculating statistics
- Compressing file
65.94%    
Remember to run myisamchk -rq on compressed tables

3.压缩后表的情况

[mysql@node2 hxl]$ ls -al tb_dic_class_myisam*
-rw-r----- 1 mysql mysql     8694 08-15 10:39 tb_dic_class_myisam.frm
-rw-r----- 1 mysql mysql 10762034 08-20 10:08 tb_dic_class_myisam.MYD
-rw-r----- 1 mysql mysql     1024 08-20 10:38 tb_dic_class_myisam.MYI

从压缩前后可以发现,压缩后表占空间明显减少了,达到了空间释放的目的,但是压缩后表变成只读的了

mysql> INSERT INTO tb_dic_class_myisam(class_id,class_name) VALUES(99,'99class');
ERROR 1036 (HY000): Table 'tb_dic_class_myisam' is read only

4.压缩后需要对该表进行检查

[mysql@node2 ~]$ myisamchk -rq /var/lib/mysqldata/hxl/tb_dic_class_myisam.MYI
- check record delete-chain
- recovering (with sort) MyISAM-table '/var/lib/mysqldata/hxl/tb_dic_class_myisam.MYI'
Data records: 1000000
- Fixing index 1
- Fixing index 2

5.解压缩表
可以使用--unpack参数解压缩表,但是解压缩后的表依然是只读的.

[mysql@node2 ~]$ myisamchk --unpack /var/lib/mysqldata/hxl/tb_dic_class_myisam.MYI
- recovering (with sort) MyISAM-table '/var/lib/mysqldata/hxl/tb_dic_class_myisam.MYI'
Data records: 1000000
- Fixing index 1
- Fixing index 2

-- The End --

阅读(6149) | 评论(0) | 转发(0) |
0

上一篇:mssql执行动态sql

下一篇:mysql杀掉进程

给主人留下些什么吧!~~