数据库优化数据库优化的目的:避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争
数据库的优化包括物理上的优化,如良好的平台(硬件平台、网络平台),合理的环境参数(操作系统环境参数、oracle环境参数),及软件上的优化
一、数据库结构的设计1、数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心
一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础
标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表
下面是一些使用标准化表的一些好处
A:由于表窄,因此可以使排序和建立索引更为迅速B:由于多表,所以多镞的索引成为可能C:更窄更紧凑的索引D:每个表中可以有少一些的索引,因此可以提高insertupdatedelete等的速度,因为这些操作在索引多的情况下会对系统性能产生很大的影响E:更少的空值和更少的多余值,增加了数据库的紧凑性由于标准化,所以会增加了在获取数据时引用表的数目和其间的连接关系的复杂性
太多的表和复杂的连接关系会降低服务器的性能,因此在这两者之间需要综合考虑
定义具有相关关系的主键和外来键时应该注意的事项主要是:用于连接多表的主键和参考的键要有相同的数据类型
2、键的设计基本表设计中,表的主键、外键、索引设计占有非常重要的地位,它们与系统的运行性能密切相关
(1)主键(PrimaryKey):主键被用于复杂的SQL语句时,频繁地在数据访问中被用到
一个表只有一个主键
主键应该有固定值(不能为Null或缺省值,要有相对稳定性),不含代码信息,易访问
把常用(众所周知)的列作为主键才有意义
短主键最佳(小于25bytes),主键的长短影响索引的大小,索引的大小影响索引页的大小,从而影响磁盘I/O
主键分为自然主键和人为主键
自然主键由实体的属性构成,自然主键可以是复合性的,在形成复合主键时,主键列不能太多,复合主键使得Jo