欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Oracle數據表分區的策略

Oracle數據表分區的策略

熱門標簽:語音電話機器人缺點 百變地圖標注 語音電話機器人營銷方案 廣州市400電話辦理 宜賓外呼系統廠家 地圖標注原件 修改高德地圖標注 淮安自動外呼系統開發 南通防封外呼系統運營商
正在看的ORACLE教程是:Oracle數據表分區的策略。本文描述通過統計分析出醫院信息系統需分區的表,對需分區的表選擇分區鍵,即找出包括在你的分區鍵中的列(表的屬性),對大型數據的管理比較有意義, 本文的工作在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的處理。

  2、基于列值選擇分區鍵

  使用Sql*plus下用命令Analyze收集末分區表的統計信息,按照Oracle推薦的取樣20%進行分析,并將統計結果保存在數據字典中。

Analyze table ORDADM.ORDERS estimate statistics
sample 20 percent;


  對DBA_TAB_COLUMNS數據字典視圖進行查詢

[NextPage]

產生表1-2

select table_name,column_name,num_distinct
from DBA_TAB_COLUMNS
where owner like 'ORDADM';
  表1-2

列 不同的值 PATIENT_ID 28720 VISIT_ID 2 ORDER_NO 395 ORDER_SUB_NO 10 ORDER_CLASS 9 ORDER_CODE 825 ORDER_TEXT 1551 ORDERING_DEPT 15 START_DATE_TIME 1194176 STOP_DATE_TIME 636798    


  從表1-2中,我們可以看到欲分區表的各個候選分區鍵的

[1] [2] 下一頁

正在看的ORACLE教程是:Oracle數據表分區的策略。分布頻譜,ORDER_CODE(醫囑代碼)鍵值沒有出現一種均勻分布,用它作分區鍵,明顯不合適;

  ORDER_CLASS(醫囑類別代碼)、ORDERING_DEPT(開醫囑科室代碼),鍵值出現均勻分布,如用它的各個鍵值作基于范圍的分區,每個分區具有的記錄數比較均勻,但這種方法對于每天增加上萬條記錄的表來看,顯然不是最優的。如果選用START_DATE_TIME(醫囑開始時間)建立范圍分區,每月的數據建立一個分區,在每個分區內基于ORDERING_DEPT建立散列子分區,每月的數據形成一個組合分區,會使每個分區的記錄數分布均勻、查詢速度提高、易于備份和刪除。因為大多數的統計和查詢是在一個月的范圍內,而且從實際的查詢效果看,跨月和跨年數據的統計和查詢速度,也比未分區的時候大大縮短,效果非常明顯。

    二 分區表的定義

Create Table orders (
 PATIENT_ID varchar2(10) not null, ORDER_NO number(4), ORDER_SUB_NO number(2),
 ..............
 ORDER_CLASS char(1),
 ORDER_TEXT varchar2(80),
 ORDER_CODE varchar2(10),
 .............
 START_DATE_TIME date
 STOP_DATE_TIME date
 .................
 ORDERING_DEPT varchar2(8)
 storage (initial 100M next 1M)
 PARTITION BY RANGE(START_DATE_TIME)
 SUBPARTITION BY HASH(ORDER_CODE)
 SUBPARTITIONS 3 STORE IN (ordersub1, ordersub 2, ordersub 3)
 (PARTITION orders200212 VALUES LESS THAN (to_date('2003-01-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
 tablespace Tsp_Orders,
 PARTITION orders200301
 VALUES LESS THAN (to_date('2003-02-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
 tablespace Tsp_Orders,,
 PARTITION orders 200302
 VALUES LESS THAN (to_date('2003-03-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
 tablespace Tsp_Orders,,
 .....................
 PARTITION orders200402
 VALUES LESS THAN (to_date('2004-03-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
 tablespace Tsp_Orders
 (SUBPARTITION ordersub1 TABLESPACE Tsp_Orders, SUBPARTITION ordersub 2 TABLESPACE Tsp_Orders,
SUBPARTITION ordersub3 TABLESPACE Tsp_Orders));
  在建立的Orders表中,按每月一個分區,從2002年12月開始,2004年02月止,共15個分區, PARTITION BY RANGE(START_DATE_TIME) 子句,表示用表的START_DATE_TIME屬性建立范圍分區,具體的每個分區名、時間范圍,在PARTITION子句定義;SUBPARTITION BY HASH(ORDER_CODE)子句,表示用表的ORDER_CODE 屬性,在每個分區下建立散列子分區,具體的每個子分區名、所在表空間,在UBPARTITION子句定義。

  用下面ALTER TABLE數據定義語句為Orders建立約束和索引。

ALTER TABLE Orders ADD CONSTRAINT Pk_Orders KEY (Patient_id,
Visit_id,Order_no,Order_sub_no) USING INDEX PCTFREE 5 TABLESPACE Tsp_Orders;
  表1-3是用select count(*) from orders partition (分區名)語句,查詢出的名分區的記錄數。

  表1-3

分區名 記錄數 orders200301 87311 orders2200302 87553 orders2200303 107533 ............   orders200401 124812
  三 分區表的維護操作

  增添分區:

Alter Table orders Add partition orders200403
Aalues less (to_date('2004-04-01 00:00:00','yyyy-mm-dd hh24: mi:ss'))
Tablespace Tsp_Orders;
  刪除分區:

Alter Table table_name Drop Partition partition_name;
  裁斷分區:

Alter Table table_name Truncate Partition partition_name Storage;
  Oracle數據表分區小知識:

  為了簡化數據庫大表的管理,O r a c l e 8 及以后版本推出了分區選項。分區將表分離在若干不同的表空間上,用分而治之的方法來支撐無限膨脹的大表,給大表在物理一級的可管理性。將大表分割成較小的分區可以改善表的維護、備份、恢復、事務及查詢性能。針對當前社保及電信行業的大量日常業務數據, 可以推薦使用ORACLE8 的該選項。

  分區的優點:

  1 、增強可用性:如果表的一個分區由于系統故障而不能使用,表的其余好的分區仍然可以使用;

  2 、減少關閉時間:如果系統故障只影響表的一部分分區,那么只有這部分分區需要修復,故能比整個大表修復花的時間更少;

  3 、維護輕松:如果需要重建表,獨立管理每個分區比管理單個大表要輕松得多;

  4 、均衡I / O : 可以把表的不同分區分配到不同的磁盤來平衡I / O 改善性能;

  5 、改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區來并行執行,可使運行速度更快;

  6 、分區對用戶透明,最終用戶感覺不到分區的存在。

上一頁    

上一頁  [1] [2] 

您可能感興趣的文章:
  • 詳解oracle的分表之表分區的具體使用和示例
  • oracle表空間表分區詳解及oracle表分區查詢使用方法
  • oracle存儲過程創建表分區實例
  • Oracle 數據表分區的策略
  • oracle表分區的概念及操作

標簽:池州 股票投資 襄陽 通化 南平 嘉峪關 南平 聊城

巨人網絡通訊聲明:本文標題《Oracle數據表分區的策略》,本文關鍵詞  Oracle,數據表,分區,的,策略,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle數據表分區的策略》相關的同類信息!
  • 本頁收集關于Oracle數據表分區的策略的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    成人av第一页| 在线观看国产精品网站| 日韩欧美成人一区二区| 亚洲va国产va欧美va观看| 佐佐木明希电影| 欧美日韩国产小视频在线观看| 亚洲免费资源在线播放| av电影天堂一区二区在线观看| avtt天堂在线| 综合激情网...| 91麻豆精东视频| 欧美天堂一区二区三区| 亚洲一卡二卡三卡四卡| 伦理电影国产精品| 六月婷婷七月丁香| 久久先锋影音av| 国产精品白丝jk白祙喷水网站| 91视频免费在观看| 欧美极品另类videosde| a亚洲天堂av| 欧美日韩精品综合在线| 日韩成人一级片| av网在线播放| 国产精品丝袜在线| 杨幂一区二区国产精品| 欧美剧在线免费观看网站 | www日韩大片| 国产在线播放一区二区三区| 亚洲av无一区二区三区| 国产精品色在线观看| 99久久国产免费看| 在线播放中文一区| 精品在线一区二区三区| 日本黄色免费片| 亚洲午夜免费福利视频| 国产老熟女伦老熟妇露脸| 久久久一区二区三区| 大白屁股一区二区视频| 欧美亚洲国产一区二区三区va| 香蕉久久一区二区不卡无毒影院| 实拍女处破www免费看| 国产精品欧美经典| 不许穿内裤随时挨c调教h苏绵| 日韩一级黄色片| 国产精品99久| 欧美视频在线播放| 久久国产精品色婷婷| 中文字幕在线有码| 天堂久久久久va久久久久| 亚洲最大成人综合网| 国产精品久久久久久久蜜臀| 黄色性视频网站| 国产欧美一区二区在线| 人妻精油按摩bd高清中文字幕| 欧美一区二区三区视频免费| 国产剧情一区二区三区| 欧美日韩在线精品一区二区三区激情| 青青青爽久久午夜综合久久午夜| 日韩精品123区| 五月婷婷综合在线| 青青操在线视频观看| 亚洲二区在线观看| 三级影片在线观看| 午夜视频久久久久久| 亚洲欧美精品久久| 天堂蜜桃一区二区三区 | 久久精品理论片| 精品一区在线观看视频| 免费久久99精品国产| 日本精品免费观看高清观看| 免费三级欧美电影| 色偷偷久久人人79超碰人人澡| 日韩av网站在线观看| 艳母动漫在线看| 精品无人区卡一卡二卡三乱码免费卡| 日本精品一级二级| 国产原创一区二区三区| 欧美高清dvd| 白白色 亚洲乱淫| www亚洲一区| av不卡中文字幕| 国产精品妹子av| 扒开jk护士狂揉免费| 一区二区三区中文免费| 一区二区三区在线播放视频| 亚洲国产精品久久久久秋霞影院| 欧美日韩色视频| 精品一区二区三区香蕉蜜桃 | 国产成人av片| 综合久久综合久久| 一级片久久久久| 日韩影视精彩在线| 日本韩国视频一区二区| 国产剧情一区在线| 久久综合九色综合97_久久久| 任你躁av一区二区三区| 综合色中文字幕| 在线看的片片片免费| 国内精品国产成人国产三级粉色| 欧美精品日韩综合在线| 91免费精品国自产拍在线不卡| 日本一区二区综合亚洲| 中文字幕一二三四区| 亚洲第一主播视频| 欧美亚州韩日在线看免费版国语版| 国产91精品久久久久久久网曝门| 久久综合成人精品亚洲另类欧美| 伊人久久一区二区三区| 亚洲伊人色欲综合网| 在线观看日韩高清av| 不卡在线观看av| 国产精品久久毛片| 小泽玛利亚一区二区免费| 国产一区二区三区免费播放| 亚洲精品在线三区| 中国女人特级毛片| 极品尤物av久久免费看| 精品国产1区2区3区| 能免费看av的网站| 久久综合综合久久综合| 精品国产99国产精品| 亚洲av熟女国产一区二区性色 | 在线成人av影院| 中文字幕一区二区三区乱码不卡| 亚洲国产日韩一级| 欧美猛男超大videosgay| 午夜影院福利社| 欧美极品美女视频| 日韩激情小视频| 成人激情黄色小说| 亚洲天堂久久久久久久| 色老汉一区二区三区| 91在线视频在线| 一级日本不卡的影视| 欧美日韩一区在线观看| 蜜臀aⅴ国产精品久久久国产老师| 一区二区三区 在线观看视频| 欧美日韩精品综合在线| 一级欧美一级日韩片| 蜜臂av日日欢夜夜爽一区| 亚洲精品一区二区在线观看| 天堂网av2018| av电影天堂一区二区在线| 一区二区三区欧美日韩| 91精品黄色片免费大全| 一级片手机在线观看| 国产一区二区福利| 成人免费在线观看入口| 欧美日韩综合一区| 亚洲一区二区三区四区五区六区| 蜜臀va亚洲va欧美va天堂| 久久亚洲精品国产精品紫薇| 精品女人久久久| aaa亚洲精品一二三区| 亚洲国产精品自拍| 欧美变态tickling挠脚心| 欧美美女性生活视频| 99精品久久只有精品| 五月婷婷激情综合网| 久久亚洲综合色一区二区三区| 日本 欧美 国产| 99久久综合网| 久久国内精品自在自线400部| 欧美韩国日本一区| 欧美在线视频你懂得| 在线观看国产网站| 国产精品一卡二| 亚洲综合久久久久| 精品国免费一区二区三区| 在线看的片片片免费| 日韩成人av一区二区| 国产精品自拍av| 亚洲一区在线看| 久久免费偷拍视频| 欧洲av一区二区嗯嗯嗯啊| 素人fc2av清纯18岁| 国产成人av电影在线观看| 亚洲二区在线视频| 国产欧美日韩在线视频| 欧美日韩日日夜夜| 三级黄色免费观看| 国产精品伦子伦| 成人免费av在线| 奇米精品一区二区三区在线观看| 国产精品日韩成人| 日韩一卡二卡三卡四卡| 丝袜 亚洲 另类 欧美 重口| 亚洲蜜桃精久久久久久久久久久久| 国产成人在线影院| 日韩黄色在线观看| 1024亚洲合集| wwwwww.欧美系列| 欧美日韩一区二区三区高清| 林心如三级全黄裸体| 中文字幕在线播放视频| www.66久久| 国产自产高清不卡| 午夜天堂影视香蕉久久| 1000部国产精品成人观看| 26uuu国产日韩综合|