海鷗航際

          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)

          主站蜘蛛池模板: 淮北市| 南川市| 应城市| 家居| 英吉沙县| 伊川县| 英山县| 兴安县| 日喀则市| 射洪县| 宜川县| 金阳县| 永德县| 武平县| 东港市| 玉溪市| 漳浦县| 彩票| 聂拉木县| 福泉市| 溧阳市| 华蓥市| 满城县| 茶陵县| 景宁| 建宁县| 镇远县| 房产| 虹口区| 鹿邑县| 保山市| 和静县| 陵川县| 米易县| 嵩明县| 蕉岭县| 肇庆市| 明光市| 成武县| 孟州市| 新干县|