mysql数据库表设计和优化

时间:2022-10-25 23:25:26

一 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语句不要做太多关联,最好简单分开