1.定长与变长分离
类型为定长的列,如int char(4) time等,放在一个表中。
类型为变长的列,varchar text blob,放在另一个表中。
两张表通过主键关联起来。
2.常用和不常用分离
常用字段和不常用字段分离。
将常用字段,如个人信息表中的姓名,出生日期,电话放在一张表中。
将不常用字段,如个人信息表中的个人简介,放在另一张表中。
两张表用主键关联起来。
3.在需要关联统计的字段上,添加冗余字段。
旨在减少连表查询的次数。
4.选择列类型
原则:整型 > date,time > enum, char > varchar > blob, text
整型:定长,没有字符集的差异
time:定长,运算快,需要考虑时区
enum:能起到约束的目的,内部有一个到数字的转换
char: 定长,考虑字符集
varchar: 不定长,考虑字符集
blob, text:无法利用内存临时表,排序等操作只能在磁盘上进行
5.字段大小够用就行,不要慷慨
大的字段浪费内存,影响速度。
6.尽量避免使用NULL
NULL不利于查询和索引。