Username: Password:

提高ORACLE数据库的查询统计速度-数据库专栏,ORACLE
来源:作者: 发布时间:2007-12-25 13:39:02


大型数据库系统中往往要用到查询统计,但是对于数据量大的系统,用户在进行复杂的查询统计时往往感到速度很慢,不能满足应用需要,这就需要我们在设计数据库系统时进行合理配置,提高查询统计的速度。本文结合笔者的项目研发经验,阐述具体的配置方法。 以oracle7.33数据库系统为例,我们在研发大型oracle数据库系统时结合项目的特点,本着安全、高效的原则对数据库进行了一些物理设计,从而大大提高了数据库的查询统计速度。总结为如下几点:   1)扩大数据表空间到500m,用于存放本系统的数据;      2)段盘区的初始大小为10k,增长大小为10k,增长幅度为1;      3)用户临时空间增大40m;      4)系统临时表空间和回滚段表空间增大40m,并且新建4个回滚段;      5)需要经常联结查询,而且数据量又大的库存表、名录表、收发料表放在一簇内;      6)提供定时备份,备份文档放在另外的机器上。      配置数据表空间的sql语句如下:      create tablespace wxgl_data1 datafile wxgl_data1.ora size 500m online;        增加系统临时表空间和回滚段表空间的sql语句如下:      alter tablespace temporary_data add datafile tmp2orcl.ora size 40m;   alter tablespace rollback_data add datafile rbs2orcl.ora size 40m;        将数据空间配置在指定的数据文档的sql语句如下:      create user zbgl identified by zbgl;   grant dba to zbgl;   alter user zbgl default tablespace wxgl_data1 temporary tablespace temporary_data;
1. 配置五个回滚段的sql语句如下:    select segment_name from dba_rollback_segs where initial_extent < 512000 and   uppper(owner) = public;   select upper(status) from dba_rollback_segs where upper(segment_name) =      alter rollback segment rb1 offline;   alter rollback segment rb2 offline;   alter rollback segment rb3 offline;   alter rollback segment rb4 offline;   alter rollback segment rb5 offline;      drop rollback segment rb1;   drop rollback segment rb2;   drop rollback segment rb3;   drop rollback segment rb4;   drop rollback segment rb5;      create public rollback segment rb1 tablespace rollback_data    storage (initial 512000 next 512000 maxextents 121);   create public rollback segment rb2 tablespace rollback_data    storage (initial 512000 next 512000 maxextents 121);   create public rollback segment rb3 tablespace rollback_data    storage (initial 512000 next 512000 maxextents 121);   create public rollback segment rb4 tablespace rollback_data    storage (initial 512000 next 512000 maxextents 121);   create public rollback segment rb5 tablespace rollback_data    storage (initial 512000 next 512000 maxextents 121);      alter rollback segment rb1 online;   alter rollback segment rb2 online;   alter rollback segment rb3 online;   alter rollback segment rb4 online;   alter rollback segment rb5 online;      commit; 2.将数据量大的库存表等放在一簇内的sql语句如下:       kcb=create table qc_kcb(    + cknm number(8) ,    + qcnm number(10) ,    + ckkc number(12,2),    + snckkc number(12,2),    + ldj number(12,2),    + bz varchar(100),    + primary key(cknm,qcnm))    + tablespace wxgl_data1 ;(大数据量的库存表等放在wxgl_data1)   qcfl = create table qc_qcfl    + (flbh number(2) primary key,    + flmc varchar(20)    + )    + tablespace wxgl_data2 ;(其他表放在wxgl_data2)

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅