Hunter的大杂烩

十月 20, 2008

关于mysql 数据库表设计建议

类归于: 技术话题 — hunter @ 6:56 下午

1. 要有一个主键(int类型最好)

     —- 方便分表、分区

            不要用auto_incream来生成主键,这样当你分区扩展时会遇到大麻烦

2. 尽可能逆范式设计,多存储一些外联数据的信息;

     —- 减少关联查询,但是不要存储重要,跟业务逻辑相关的数据,最好只是纯粹展示用,要保留异步更新这些数据的能力;

3. 增加版本号和最后修改时间;

     —- 版本号是用来避免更新cache遇到的并发问题;

           最后修改时间是方便定时获取增量数据(备份或者主动更新cache时用)

4. 增加property/state字段

     —- 避免直接删除数据,而是使用state字段来做状态过滤;

           分离纯展示用的标志和与业务逻辑有关的标志

 

===================

其他注意事项:

1. 单表容量超过20w条之后,性能会开始下降;

 

评论暂缺

还没有任何评论。

这篇文章上的评论 RSS feed

抱歉,评论暂时关闭。

WordPress 所驱动