良好的schema设计原则是普遍适用的,尽可能保持任何东西小而简单。
1.尽量避免过度设计。
2.使用小而简单的合适数据类型。除非真实数据模型中有确切的需要,否则应该尽可能的避免使用NULL值。
3.尽量使用相同的数据类型存储相似或相关的值,尤其是要在关联条件中使用的列。
4.注意可变长字符串,其在临时表和排序时可能导致按最大长度分配内存。
5.尽量使用整型定义标识列。
6.避免使用MySQL已经遗弃的特性,例如指定浮点数的精度,或者显示整数的显示宽度。
7.小心使用enum和set。最好避免使用bit。
8.数据库应该做到范式设计。但是反范式有时候也是必须的。
9.alter table是性能极低的操作,因为在大部分情况下,它都会锁表并且重建整张表。对于大部分场景,必须使用常规的方法,比如在备机执行alter并在完成后把它切换为主库。
网友评论