当前位置: 首页 > 图文教程 > 数据库 > Oracle > 合理设置数据库以提高查询统计速度

Oracle
Oracle数据库系统紧急故障处理方法
Oracle SQL性能优化系列学习一
Oracle 数据库操作技巧集
Oracle组件实现动态Web数据库
ORACLE常见错误代码的分析与解决二
ORACLE常见错误代码的分析与解决三
在Oracle 8x实现自动断开后再连接
深刻理解Oracle数据库的启动和关闭
Oracle对两个数据表交集的查询
Oracle 8i字符集乱码问题析及其解决办法
Oracle 数据库管理脚本命名规范
Oracle不同数据库间对比分析脚本
Oracle数据库安全策略
Oracle数据库的空间管理技巧
Oracle数据库系统使用经验六则
ORACLE数据库应用开发常见问题及排除
Oracle系统表外键的更名
Oracle约束管理脚本
如何确定Oracle数据库表重复的记录
Oracle数据库索引的维护

Oracle 中的 合理设置数据库以提高查询统计速度


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 90 ::
收藏到网摘: n/a

    大型数据库系统中往往要用到查询统计,但是对于数据量大的系统,用户在进行复杂的查询统计时往往感到速度很慢,不能满足应用要求,这就要求我们在设计数据库系统时进行合理设置,提高查询统计的速度。本文结合笔者的项目开发经验,阐述具体的设置方法。
    以oracle7.33数据库系统为例,我们在开发大型oracle数据库系统时结合项目的特点,本着安全、高效的原则对数据库进行了一些物理设计,从而大大提高了数据库的查询统计速度。总结为如下几点:
1)扩大数据表空间到500M,用于存放本系统的数据;
2)段盘区的初始大小为10K,增长大小为10K,增长幅度为1;
3)用户临时空间增大40M;
4)系统临时表空间和回滚段表空间增大40M,并且新建4个回滚段;
5)需要经常联结查询,而且数据量又大的库存表、名录表、收发料表放在一簇内;
6)提供定时备份,备份文件放在另外的机器上。
设置数据表空间的SQL语句如下:
  1
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>
    
增加系统临时表空间和回滚段表空间的SQL语句如下:

  2
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>   
将数据空间设置在指定的数据文件的SQL语句如下:
  3
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>
   
设置五个回滚段的SQL语句如下:
 
  4
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>

 
将数据量大的库存表等放在一簇内的SQL语句如下:
  5
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0> 

   系统的基础数据库存表、名录表大约有数据80M;一个单位一般每年收发300次,收发料单大约有数据50M;系统冗余数据100M,系统辅助数据10M;因此,系统总共需要空间大约是240M,现在系统开辟数据空间500M,完全满足存储要求。由于系统使用了冗余数据,在查询常用数据时,避免了多表联结查询的情况,这样,虽然使用了更多的存储空间,但查询效率大幅度提高;同时,系统将需要经常联结查询的数据放在一簇,即将存放这些数据的空间在物理上相邻,这样也使查询速度大大提高。
    另外在oracle7.33数据库的Database目录下有一个Initorcl.ora文件,改变其中的设置也可以提高查询统计速度。该文件的内容如下:
6
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>
7
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>
8
700)this.width = 700;if(this.height > 700) this.height = 700;" border=0>