sql优化总结一(数据库表的设计)
影响Mysql性能的因素:
一.数据库表的设计
二.数据库的存储引擎
三.sql语句的书写
四.数据库的参数设置
五.数据库硬件的选择
一.数据库表的设计
1.数据库的三范式:
第一范式:

反面例子:这里的名字,年龄,身高等信息都合成了一列,违背了单一属性的原子


正面例子:

第二范式:

解决数据冗余:

第三范式:

主外键关联

实际开发中常常会用冗余的方式等反范式的方式来设计
2.实体关系分析
双向分析:



3.自然主键和代理主键:
自然主键:包括身份证号码,学生号等具有实际意义的字符
代理主键:指的是与业务无关的,没有意义的字符

为什么不用自然主键:比如下表中,如果李梅离职在入职的话,主键是身份证,
而离职的时候是逻辑删除,所有会导致再次入职的时候,主键报重复的问题。

4.数据类型的选择
字段类型的选择优先级









浙公网安备 33010602011771号