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