欢迎光临搜索优化网站,为您在线提供搜索引擎优化问题!

搜索优化

我们提供一站式关键词优化快速稳定,解决网站排名查询困难。

数据库优化之结构设计

作者:jcmp      发布时间:2021-04-17      浏览量:0
设计好处1. 良好的数据库逻辑设计和物理

设计好处

1. 良好的数据库逻辑设计和物理设计师数据库获得高性能的基础

2. 范式化设计和反范式化设计(减少冗余、减少异常、让数据组织的更加和谐)。

3. 优化目的

(2) 尽量避免数据维护中出现更新、插入和删除等异常

a. 插入:如果表中的某个实体随着另一个实体而存在

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

c. 删除:如果删除表中的某一时则会导致其他实体的消失

设计过程

1. 需求分析

(1) 全面了解产品设计的需求

(3) 数据处理需求

(4) 数据的安全性和完整性

2. 逻辑分析

3. 设计数据的逻辑结构

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

5. 物理设计

根据所使用数据特点设计表结构

6.维护优化

对索引、存储结构等进行优化

7. 范式化

设计没有数据冗余和维护异常的数据结构

8. 反范式化

针对范式化而言的,在前面介绍了数据库设计的范式,所谓的反范式化就是为了性能和读取效率的考虑而适当的对数据库设计范式的要求进行违法,而允许存在少量的数据冗余,换句话来说反范式化就是使用空间来换取时间。

范式化与反范式化

1. 范式化设计的优缺点

(1) 优点

a. 尽量减少数据冗余

b. 范式化的更新操作比反范式化更快

c. 范式化的表通常比反范式更小

(2) 缺点

a. 对于查询需要对多个表进行关联(mysql限制不能超过10张表)。

b. 更难进行索引优化

2. 反范式化设计的优缺点

(1) 优点

a. 减少表的关联

b. 更好进行索引优化

(2) 缺点

a. 存在数据冗余及数据库维护异常

b. 对数据修改需要更多的成本

物理设计

1. 物理设计的内容

(1) 定义数据库、表及字段的命名规范

(2) 选择合适的存储引擎

(3) 为表中的字段选择合适的数据类型

(4) 建立数据库结构

2. 定义数据库、表及字段的命名规范

(1) 可读性原则

(2) 表意行原则

(3) 长名原则

3. 选择合适的存储引擎

4.为表中的字段选择合适的数据类型(数据页)

当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或二进制类型,最后是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。

5.如何为Innodb选择主键

(1) 主键应该尽可能的小

(2) 主键应该是顺序增长的

(3) Innodb的主键和业务主键可以不同;

相关链接

《数据库优化之实例和故事》