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

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

你可能感兴趣的:(mysql优化)