Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76966
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 207
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-21 17:14
文章分类

全部博文(31)

文章存档

2014年(31)

我的朋友

分类: Mysql/postgreSQL

2014-11-25 17:51:24

1、太多的列


    


有些人使用非常宽的表(数千字段),然而只使用一小部分列,这时的转换代价就很高。由于MySQL


的存储引擎API工作时需要在服务器层和数据层之间拷贝数据,然后在服务器层将缓存的内解码成


各个列。


    


我们应该经历的减少不必要的字段,比如一些预留字段。如果需要新的字段,我们可以新增就可以,不


必刻意的去预留。




2、太多的关联


    


实体-属性-值(EAV)设计模式是一个糟糕的模式,尤其实MySQL下不能靠谱的工作。MySQL限制每个


关联操作最多只有61张表,但实际上在少于61张表下操作查询代价也是MySQL的问题。一些粗略的测试


得到,单查询最好在12张表以内做关联。


    


3、全能的枚举


    


枚举类型可以解决一些性能和错误的操作,但如果过度的是呀枚举会让schema的设计非乱。


所以我们应该经理的避免大量的使用枚举,对一些关键字段使用枚举就可以。


    


4、避免全部NULL


    


MySQL中我们应该尽量的避免NULL(空)的存储,就算存储实际上存储一个“空值”,我们也尽量的避免存储NULL,


可以用其他的代替如 “0”,或者其他的特殊符号。

原载于:
参考资料:



阅读(1063) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~