• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Oracle 數據表分區的策略

    發布: 2008-9-05 14:03 | 作者: 網絡轉載 | 來源: CSDN開發高手 | 查看: 64次 | 進入軟件測試論壇討論

    領測軟件測試網 本文描述通過統計分析出醫院信息系統需分區的表,對需分區的表選擇分區鍵,即找出包括在你的分區鍵中的列(表的屬性),對大型數據的管理比較有意義, 本文的工作在Oracle8.1.6下實現。

      Oracle雖然是一個大型的DBMS,但如果不對記錄比較多的表進行處理,仍然發揮不了Oracle管理大型數據的強大功能,因此對某些表進行分區,具有如下優點:

      分區表中每個分區可以在邏輯上認為是一個獨立的對象;

      可以在一個表中的一個或多個分區上進行如刪除、移動、析分等維護操作,而不會影響其它分區,具有分區獨立性;

      如果選擇合適的分區策略,會大大的加快數據的查詢速度。

      一 找出需分區的表

      本節描述通過統計分析出醫院His系統需分區的表,對需分區的表找出包括在你的分區鍵中的列(表的屬性),即選擇分區鍵。

      1、基于訪問頻度找出需分區的表

      Oracle8i允許訪問數據庫中的審核信息,借助于收集的審核信息,設計者能夠確定哪些表的數據是真正最頻繁訪問的,即找出那些表,需要進行分區。

      打開審核:在作為SYS或SYSSTEM登錄到數據庫后,動行如下腳本,打開對象的審核功能。

    set echo off feed off ver off pages 0
    spool audon.sql
    select ’audit select on ’||owner||’.’||object_name||’ by
    access;’
    from dba_objects
    where object_type in (’VIEW’,’TABLE’) and owner in
    (’ORDADM’);
    spool off
    set echo on feed on ver on

      這些代碼的運行將產生“audon.sql”的輸出文件,它包含下面清單中所示格式的語句

    audit select on ORDADM.DOCTOR_ORDERS by access;
    audit select on ORDADM.GROUP_ORDER_ITEMS by access;
    audit select on ORDADM.GROUP_ORDER_MASTER by access;
    audit select on ORDADM.ORDERS by access;
    audit select on ORDADM.ORDERS_COSTS by access;
    audit select on ORDADM.ORDERS_SHEET_IMAGE by access;
    audit select on ORDADM.VITAL_SIGNS_REC by access;

      使用命令@audon.sql激活上述代碼以打開審核功能收集收集審核信息,建立一個表以保存概要信息:

    create table aud_summary (
    obj_name varchar2(30),
    owner varchar2(30),
    hits number);

      將審核信息從dba_audit_object表中取出并裝入概要表中:

    insert into aud_summary
    select obj_name,owner,count(*)
    from dba_audit_object
    group by obj_name,owner;

      關閉審核:

    set echo off feed off ver off pages 0
    spool audoff.sql
    select ’noaudit select on ’||owner||’.’||object_name|| ’
    by access;’
    from dba_objects
    where object_type in (’VIEW’,’TABLE’) and owner in
    (’ORDADM’);
    spool off
    set echo on feed on ver on

      這些代碼的運行將產生“audoff.sql”的輸出文件。

      使用命令@ audoff.sql激活上述代碼以關閉上述對象的審核功能。

      清除審核信息:

    delete sys.aud$

      分析審核信息

    col obj_name form a30
    col owner form a20
    col hits form 99,990
    selec obj_name,owner,hits from aud_summary;
    OBJ_NAME OWNER COUNT(*)
    ----------- ------------- ----------
    DOCTOR_ORDERS ORDADM 30309
    DRUG_STOCK PHARMACY 11094
    GROUP_ORDER_ITEMS ORDADM 1030
    GROUP_ORDER_MASTER ORDADM 1196
    ORDERS ORDADM 40421
    ORDERS_COSTS ORDADM 10109

      以上是HIS系統臨床醫囑部分24小時內對表的訪問情況,從上面的查詢得表1-1。

      表1-1

    行數 命中率
    doctor_orders 2052709 30309
    drug_stock 2511 11094
    group_order_item 3800 1030
    group_order_master 186 1196
    orders 1633010 40421
    orders_costs 2403214 10109

      group_order_master( 醫囑套攴主記錄) 、group_order_item(醫囑套攴明細), 表的行數比較少,不適合分區;drug_stock(藥品庫存)雖然存取頻率比較高,但表的行數比較少,因此也不適合分區。我們選擇表的行數比較多、存取頻率比較高的表作分區處理,如 doctor_orders、orders、orders_costs,考慮到doctor_orders是醫生工作站上醫生開的醫囑,orders是由doctor_orders生成、護士工作站上執行的醫囑,兩個表結構類似,而醫囑與藥品、衛生材料、計費聯系比較密切的是Orders,因此重點介紹對表orders的處理。

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: oracle ORACLE Oracle 分區 數據

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>