影响数据库性能的因素:

数据库结构(最大的), 服务器硬件, 操作系统 ,mysql服务器配置

良好的数据库逻辑设计和物理设计,是获得高性能的基础。

设计数据库结构,不仅仅是考虑到 业务需求,还有考虑到以后需要用到的哪些查询语句进行查询,进而进行设计数据库结构。

优化数据库结构,可以使查询的语句尽量的简单。这样需要考虑很多因素的

比如进行反范式设计的时候,可以加快一些查询语句的设计,同时也会影响一些查询语句的性能。所以需要平衡各方的利益,已达到最优。

 

数据库结构优化的目的:

1,减少数据冗余 

2, 尽量避免数据维护中出现更新,插入,删除异常

插入异常:如果表中的某个实体,随着另一个实体而存在

更新异常:如果更改表中的某个实体的单独属性时,需要对多行进行更新

删除异常: 如果删除表中的某一个实体则会导致其他实体的消失

3,解决数据存储空间,提供查询的效率

 

数据结构设计的步骤:

需求分析:

1, 全面了解产品设计的存储需求

2,数据处理需求(读取和插入等)

3,数据的安全性和完整性(包括数据的生命周期等)

 

逻辑设计: 设计数据的逻辑存储结构,

数据实体之间的逻辑关系,解决数据冗余和数据维护异常

 

物理设计:根据所使用的数据库特点,进行表结构设计

维护优化: 根据实际情况,对索引,存储结构进行等进行优化和调整

 

设计范式:

表的设计 都是符合 第一范式的,

而第二范式 一般是 针对的是 复合主键来说得,如果只有一列是 主键,那么一般是符合第二范式的。

要求一个表中,只具有一个业务主键,符合第二范式的表中,不存在非主键列对只对只对部分主键有依赖关系。比如 有 两列的 复合主键, 表的某一个列 只依赖复合主键的某一个列,那么这样是不符合第二范式的。

第三范式是:在满足了第二范式的基础上,表中的所有列都是依赖于主键的。

比如 某一个列, 依赖于 某一个不是主键的列,那么这个表是不符合第三范式的,因为有主键传递依赖的关系,