sql优化总结一(数据库表的设计)

影响Mysql性能的因素:

一.数据库表的设计

二.数据库的存储引擎

三.sql语句的书写

四.数据库的参数设置

五.数据库硬件的选择

 

一.数据库表的设计

1.数据库的三范式:

第一范式:

 

 

 

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

 

正面例子:

 

 

 

第二范式:

 

 

解决数据冗余:

 

 第三范式:

 

 

主外键关联

实际开发中常常会用冗余的方式等反范式的方式来设计

 

2.实体关系分析

 双向分析:

 

 

 

 

 

 

3.自然主键和代理主键:

自然主键:包括身份证号码,学生号等具有实际意义的字符

代理主键:指的是与业务无关的,没有意义的字符

 

 为什么不用自然主键:比如下表中,如果李梅离职在入职的话,主键是身份证,

而离职的时候是逻辑删除,所有会导致再次入职的时候,主键报重复的问题。

 

 

 

4.数据类型的选择

字段类型的选择优先级

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-02-28 14:55  呆马and鸽子  阅读(278)  评论(0)    收藏  举报