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

Oracle
Excel VBA连接并操作Oracle
Oracle 外连接实现代码
oracle 存储过程和函数例子
Oracle 数据库操作类
ORACLE 分区表的设计
Oracle 用户权限管理方法
Oracle In和exists not in和not exists的比较分析
利用windows任务计划实现oracle的定期备份
ORACLE11g随RHEL5系统自动启动与关闭的设置方法
在oracle 数据库查询的select 查询字段中关联其他表的方法
plsql和tsql常用函数比对
plsql与tsql的语法不同
ASP.NET调用oracle存储过程实现快速分页
执行drop表操作后数据库无法起动
分析Oracle有时会用索引来查找数据的原因
数据从MySQL迁移到 Oracle的注意事项
快速理解Oracle归档模式的命令及参数
在Oracle里加快SQL执行的三种方法
几条常见的数据库分页 SQL 语句
Oracle9I OCP认证过程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 98 ::
收藏到网摘: 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>