数据库结构优化:
优化表结构::
1:尽量将表字段定义为not null约束,因为MySQL中含空值得列很难查询优化
2:对于只包含特定类型的字段,可以使用enum,set等
3:数值型字段的比较比字符串比较效率高很多,字段类型尽量使用最小,最简单类型
4:尽量使用TINYINT,SMALLINT,MEDIUM_INT作为整数
5:varchar的长度只分配真正需要的空间
6:尽量使用TIMESTAMP而非DATETIME
7:单表不要有太多字段,建议20以内
8:合理加入冗余字段
表拆分:
横向拆分:
经常查询的放在同一张表:如用户表,做登录只用含用用户名和密码的表,另一张为用户详细信息表
纵向拆分:
把一张表拆分成多张表,可以根据id进行某种规则存储,mycat可以实现纵向拆分表
优化表结构::
1:尽量将表字段定义为not null约束,因为MySQL中含空值得列很难查询优化
2:对于只包含特定类型的字段,可以使用enum,set等
3:数值型字段的比较比字符串比较效率高很多,字段类型尽量使用最小,最简单类型
4:尽量使用TINYINT,SMALLINT,MEDIUM_INT作为整数
5:varchar的长度只分配真正需要的空间
6:尽量使用TIMESTAMP而非DATETIME
7:单表不要有太多字段,建议20以内
8:合理加入冗余字段
表拆分:
横向拆分:
经常查询的放在同一张表:如用户表,做登录只用含用用户名和密码的表,另一张为用户详细信息表
纵向拆分:
把一张表拆分成多张表,可以根据id进行某种规则存储,mycat可以实现纵向拆分表