物理设计
命名规范
数据库、表、字段的命名要遵守可读性原则
使用大小写来格式化的库对象名字以获得良好的可读性
例如:使用custAddress而不是custaddress来提高可读性。
数据库、表、字段的命名要遵守表意性原则
对象的名字应该能够描述它所表示的对象
例如:
对于表,表的名称应该能够体现表中存储的数据内容;对于存储过程
存储过程应该能够体现存储过程的功能。
数据库、表、字段的命名要遵守长名原则
尽可能少使用或者不使用缩写
存储引擎选择
数据类型选择
当一个列可以选择多种数据类型时
- 优先考虑数字类型
- 其次是日期、时间类型
- 最后是字符类型
对于相同级别的数据类型,应该优先选择占用空间小的数据类型
浮点类型
注意float 和double 是非精度类型,如果是和金额相关尽量用decimal
select sum(c1),sum(c2),sum(c3) from test_numberic
日期类型
面试经常问道 timestamp 类型 与 datetime区别
datetime类型在5.6中字段长度是5个字节
datetime类型在5.5中字段长度是8个字节
timestamp 和时区有关,而datetime无关
set time_zone="-10:00"