27.4 myisampack命令
myisampack命令用来压缩MyISAM数据表,压缩后的数据表比原数据表占用更少的磁盘空间。但是压缩后的数据表为只读数据表,不能对压缩后的数据表中的数据进行插入、更新和删除操作。
例如,将t_goods数据表的存储引擎修改为MyISAM。
mysql> ALTER TABLE t_goods ENGINE=MyISAM;
Query OK, 106872 rows affected (7.62 sec)
Records: 106872 Duplicates: 0 Warnings: 0
查看t_goods数据表在服务器磁盘上所占的空间大小。
[root@binghe150 ~]# ll /data/mysql/data/goods | grep t_goods
-rw-r----- 1 mysql mysql 56008 Jan 15 14:45 t_goods_761.sdi
-rw-r----- 1 mysql mysql 196608 Jan 15 14:44 t_goods_back.ibd
-rw-r----- 1 mysql mysql 131072 Jan 15 13:53 t_goods_category.ibd
-rw-r----- 1 mysql mysql 58834344 Jan 15 14:45 t_goods.MYD
-rw-r----- 1 mysql mysql 5842944 Jan 15 14:45 t_goods.MYI
可以看到t_goods数据表索引文件所占的空间大小为5 842 944字节,数据文件所占的空间大小为58 834 344字节。</