几个缩减MySQL以节省磁盘空间的建议 |
本文标签:MySQL 我们在工作中时常会遇到一些客户的TPS\QPS都不太高,但磁盘占用非常大,一旦单实例空间太大,像内存、网络、CPU以及备份都将增加相应的开销 。可能仅仅是由于空间不满足使得我们不得不进行扩容,下面的方法提供给大家参考 。有则改之无则加勉 。 CREATE TABLE `class_meta` ( `class_name` varchar(128) NOT NULL COMMENT 类名, `class_desc` varchar(2048) default COMMENT 类的描述, `class_status` char(20) default test1 COMMENT test1,test2, PRIMARY KEY (`class_name`), UNIQUE KEY `cm_cn_uk` (`class_name`), KEY `cm_cd_ind` (`class_desc`(767)), KEY `cm_cs_ind` (`class_status`), KEY `cm_cdcn_ind` (`class_desc`(767),`class_name`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT=meta信息; 通过上面的表结构能看到如下地方不合适 2、存储内容上 建议: ps:经常在跟开发评审表结构的时候,时常会被笑话说DBA太抠门,一点都不大气 。当数据量小的时候可能大家不觉得,但当你的数据级到T或者P的时候,哪怕多省几个字节都是非常可观的,给大家简单算笔账,如果我们将一张5亿条记录的表,字段从100个字节降到60个字节(应该很容易做到吧),那么不算上索引将节约大约18G的空间 。 |