您的位置:首页 > 数据库

软件系统性能设计之二数据库性能设计

2011-09-23 16:00 239 查看
目前大部分系统都使用了数据库,数据库性能对于系统软件的性能影响至关重要,甚至已经是系统软件的主要瓶颈之一。

数据库性能优化主要包括以下几个方面:

1:数据库逻辑设计阶段

1.1 数据库设计要遵循的的三大范式:(1)数据库所有字段要不可再分(2)数据库每个字段都要与主键相关(3)数据库中的每个字段都要和主键直接相关

1.2 数据库设计的三大范式要求数据库冗余越少越好,在实际设计过程中,允许一定的数据冗余可以提高数据库的性能,如将常用的计算列保留为数据表的一列

2:数据库物理设计阶段

2.1 主键的类型要越短越好,tiniint比int好

2.2 索引最好是int类型,检索的时候效果最好

2.3 建立索引,但不是越多越好,而且最好是int类型

2.4 一张表中数据字段不宜过多,实在很多应该垂直分割为多个表

2.5 一张表中如果有大字段或者长字符串的话,不宜有较多字段

3:DBMS和操作系统调整

3.1 提高脑配置

3.2调整数据库配置,如增加缓冲池等等

3.3把数据、日志和索引放在不同的I/O设备上,增加存取速度

4:优化SQL语句

数据库50%-60%的性能问题可以通过修改SQL语句解决。

主要的包括:

4.1 查询数据时避免不必要的数据检索,以减少数据库压力,减少网络负担

4.2 对于distinct和union在没必要时尽量别用,它们会使查询变慢

4.3 关键字in中的字段,最频繁的放在最前面

4.4 最好在where里剔除数据,然后在用group by和having

4.5 优化存储过程,有变量定义时放在最前面,且尽可能一次全定义,一次全赋值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: