mysql结构优化

影响数据库性能的因素:mysql

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

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

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

优化数据库结构,可使查询的语句尽可能的简单。这样须要考虑不少因素的服务器

好比进行反范式设计的时候,能够加快一些查询语句的设计,同时也会影响一些查询语句的性能。因此须要平衡各方的利益,已达到最优。数据结构

 

数据库结构优化的目的:性能

1,减小数据冗余 优化

2, 尽可能避免数据维护中出现更新,插入,删除异常操作系统

插入异常:若是表中的某个实体,随着另外一个实体而存在设计

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

删除异常: 若是删除表中的某一个实体则会致使其余实体的消失

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

 

数据结构设计的步骤:

需求分析:

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

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

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

 

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

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

 

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

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

 

设计范式:

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

而第二范式 通常是 针对的是 复合主键来讲得,若是只有一列是 主键,那么通常是符合第二范式的。

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

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

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

相关文章
相关标签/搜索