海鷗航際

          JAVA站
          posts - 11, comments - 53, trackbacks - 1, articles - 102

          提高ORACLE數據庫的查詢統計速度

          大型數據庫系統中往往要用到查詢統計,但是對于數據量大的系統,用戶在進行復雜的查詢統計時往往感到速度很慢,不能滿足應用要求,這就要求我們在設計數據庫系統時進行合理設置,提高查詢統計的速度。本文結合筆者的項目開發經驗,闡述具體的設置方法。

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

          將數據量大的庫存表等放在一簇內的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)

          主站蜘蛛池模板: 青浦区| 沭阳县| 顺平县| 女性| 彭阳县| 常宁市| 商南县| 镶黄旗| 荥阳市| 日照市| 原阳县| 新宁县| 通城县| 大新县| 连平县| 阳山县| 南漳县| 亳州市| 萝北县| 邯郸市| 杭锦旗| 化隆| 永德县| 扬中市| 阿勒泰市| 华宁县| 济阳县| 秦安县| 友谊县| 石阡县| 沙河市| 嵊泗县| 玉林市| 融水| 怀仁县| 抚远县| 冀州市| 孙吴县| 安泽县| 漳浦县| 章丘市|