一 mysql数据库表设计原则
1,数据库命名原则:英文字母,多个单词间用下划线'_',单词尽量简洁、见名知意
2,数据库表命名原则:英文字母,多个单词间用下划线'_',单词尽量简洁、见名知意
3,数据库表字段类型:尽量用int型,固定长度用char,使用varchar的范围尽量贴合实际,能用tinyint就不要用int和smallint,最好给字段设置默认值,默认值不为null;
4,数据库表字段索引:主键必须设置索引,例如user_name字段,索引名为user_name_index,索引不必设置太多
5,数据库范式
第一范式:字段值具有原子性,即字段值不可分割
第二范式:一个表必须有主键,即一行数据可以独立区别
第三范式:一个表中不能包含关联表中其他非关键字的信息,即不要有冗余
二 sql优化
1,务必不要使用select * ,尽量使用limit,我们要优化的目的就是尽量不去做全表扫描
2,频繁查询的where子语句的条件加上索引
3,where 子语句的连接不要使用or,这样会使引擎放弃索引,直接全表扫描
4,sql语句不要做太多关联,最好简单分开