现在的位置: 首页 > 综合 > 正文

mysql优化(1)—–数据库结构优化

2013年08月21日 ⁄ 综合 ⁄ 共 704字 ⁄ 字号 评论关闭

author:skate
time:2012/06/29

mysql优化(1)-----数据库结构优化

尽量减少表或索引占用的存储空间,这样buf pool不但缓存了更多的数据,也提高了命中率;既要提高性能又要减少存储空间就要满足如下规则:

1.

表列的选择列选择合适的、比较小的数据类型;列尽量被定义为not null,因为这这样使sql操作更快,更有助于索引的选择

2.

row_format:有三种值可供选择
  COMPACT:mysql的种row格式虽然可以节省大概20%的存储空间,但也消耗cpu的使用率,它分配空间是根据实际需要最小化分配
  COMPRESSED :mysql的row压缩格式,可以有效的节省存储空间
  FIXED:row采用固定尺寸,这样会浪费存储空间,但速度会很快
  REDUNDANT:老版本的格式,已经不用了
 
3.
      1) primary key要尽量的短,因为secondary index都要存储primary key
      2) 创建合适的符合索引,使在scan索引过程就最大化的过滤数据,索引是一把双刃剑,它有助于select,但也影响dml操作。
          所以然后个创建,创建多少要衡量好。
      3) 如果索引列很长,那一定要使用前缀索引,前缀索引可以节省存储空间,提高索引缓存的命中率,减少了disk的IO操作

4.join表的关联列要有相同的数据类型,关联列创建适当索引

5.数据冗余、数据汇总表也是磁盘换性能的方式,但要保证好数据的一致性。

 

 

---end----

 

参考:http://dev.mysql.com/doc/refman/5.5/en/data-size.html

 

抱歉!评论已关闭.