日期:2014-05-16 浏览次数:20329 次
以下几条经验从别处 K 来的,我也比较认同。
?
1. 不依赖单一数据库,尽量不用数据库的特性;
2. 大表设计;
3. 减少关联查询的表数量,实在要关联,控制在3个以内;
4. 表设计时能冗余就冗余,数据的一致性靠业务逻辑去控制;
5. 抛弃外键,不要依靠底层db给你检查数据的不一致;
6. 查询语句中尽量不用in,not,left join,right join;
7. 数据库字段设计尽量设计成非空的,便于作索引;
8. 对于查询条件用到的字段,一定要索引;
9. 查询条件中,尽量避免用 like ,尽量使用等值查询;
10. 为每个表设置一个默认主键,即使它没有任何用处;
11. 为每个表设置一个creation,modification字段,表示记录的创建时间和最后修改时间;
12. 对数据库中的数据作软删除--设计表时增加一个is_deleted字段,当删除时,修改该字段的值,不做物理删除;
13. 字段的长度设计尽量贴近实际;
14. 各个字段尽量设计成非空的,不要设置默认值;
15. 尽量使用标准的 SQL 语句,便于迁移;
16. SQL中所有的数据库字段和关键字大写;
17. SQL 语句要合理缩进,建议使用 sqlplus 之类的工具格式化;
18. 不要用 SELECT * ,而是一个一个的把要查询的字段列举出来--否则后期添加字段是一种灾难!
19. INSERT 后要把所有的字段依次列举,防止后期字段顺序变化或字段增删;
20. 数据库中使用 user_detail 形式的命名规则(包括表名和字段名);
21. 不要把表和字段名设计为 SQL 的关键字。
?