1.表的优化:定长和不定长分离
Int 4个字节,char4个字节,定长,time也是定长
核心且常用的字段,应该建成定长的,放到一张表上
而varchar text,bolb,这种变长字段,适合单放一张表上,用主键与核心表关联起来
2.常用字段和不常用的字段要分离
需要结合网站具体的业务来分析,分析字段的查询场景,查询频度低的字段,单独解析出来
3.在1对多,需要关联统计的字段上添加冗余字段
冗余字段可以提高性能(典型的空间换时间)
4.列选择原则:
(1).字段类型优先级,整型>date.time>enum.char>varchar>blob.text
列的特点分析
整型:定长.没有国家/地区之分.没有字符集的差异(tinyint 1 2 3 4<--->char(1) a b c d从空间上都是占一个字节,但是order by 排序,前者快,原因:后者需要考虑字符集与校对集,就是及排序规则)
time :定长,运算快,节省空间,考虑时区,.........