提高ORACLE資料庫的查詢統計速度

2021-03-31 16:59:56 字數 2969 閱讀 1554

大型資料庫系統中往往要用到查詢統計,但是對於資料量大的系統,使用者在進行複雜的查詢統計時往往感到速度很慢,不能滿足應用要求,這就要求我們在設計資料庫系統時進行合理設定,提高查詢統計的速度。本文結合筆者的專案開發經驗,闡述具體的設定方法。

以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;

***mit;

2.將資料量大的庫存表等放在一簇內的sql語句如下:

kcb='create table qc_kcb( '

+' cknm number(8) ,'

+' q**m number(10) ,'

+' ckkc number(12,2),'

+' snckkc number(12,2),'

+' ldj number(12,2),'

+' bz varchar(100),'

+' primary key(cknm,q**m))'

+' tablespace wxgl_data1 ' ;(大資料量的庫存表等放在wxgl_data1)

qcfl = 'create table qc_qcfl '

+ '(flbh number(2) primary key,'

+ ' flmc varchar(20) '

+ ' ) '

+' tablespace wxgl_data2 ' ;(其他表放在wxgl_data2)

oracle資料庫,提高查詢效率

1.from子句 oracle的解析器按照從右到左的順序處理from子句中的表名,因此from子句中寫在最後的表 基礎表 driving table 將被最先處理。在from子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。例如 t1 400w資料,t2 40資料 from t1,t2...

提高ORACLE資料庫的查詢統計速度

大型資料庫系統中往往要用到查詢統計,但是對於資料量大的系統,使用者在進行複雜的查詢統計時往往感到速度很慢,不能滿足應用要求,這就要求我們在設計資料庫系統時進行合理設定,提高查詢統計的速度。本文結合筆者的專案開發經驗,闡述具體的設定方法。以oracle7.33資料庫系統為例,我們在開發大型oracle...

如何提高ORACLE資料庫的查詢統計速度

如何提高oracle資料庫的查詢統計速度 我們在開發大型oracle資料庫系統時結合專案的特點,本著安全 高效的原則對資料庫進行了一些物理設計,從而大大提高了資料庫的查詢統計速度。總結為如下幾點 1 擴大資料表空間到500m,用於存放本系統的資料 oracle培訓 2 段盤區的初始大小為10k,增長...