• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Oracle分區(qū)表在移動話費清單中的應用

      2014-12-31 00:00:00游琪
      計算機光盤軟件與應用 2014年12期

      摘 要:在Oracle數(shù)據(jù)庫中,如果遇到容量特別大的表(如GB級、TB級),可以使用分區(qū)的表來改變其應用程序的性能,而移動話費清單的數(shù)據(jù)量至少可以用GB級來計量了,存儲類似于這種海量數(shù)據(jù)的用Oracle分區(qū)技術處理是最為合適的。本文簡述了Oracle數(shù)據(jù)庫中分區(qū)表技術的作用及該技術在移動話費清單中的應用,讓大家對Oracle數(shù)據(jù)庫分區(qū)技術有了更進一步的了解。

      關鍵詞:Oracle;分區(qū)表;移動話費

      中圖分類號:TP311.13

      據(jù)工信部統(tǒng)計,截止2013年12月底,中國移動電話用戶總數(shù)突破12.6億戶。處理這類巨大型的數(shù)據(jù),對于數(shù)據(jù)庫管理員來說,工作量是非常大的。

      Oracle數(shù)據(jù)庫提供了一種可以處理海量數(shù)據(jù)的分區(qū)技術,在實際工作中,如果遇到的數(shù)據(jù)量是GB級或TB級的,可以使用Oracle中的分區(qū)表來改變其應用程序的性能。

      基于上述情況,如果需要查詢某個地區(qū)或時間段的移動話費清單,采用Oracle數(shù)據(jù)庫系統(tǒng)提供的分區(qū)工表來存儲這些海量數(shù)據(jù)是非常合適的。

      1 分區(qū)表簡介

      分區(qū)表是指將巨型的表或索引分割成相對較小、可獨立管理的部分。Oracle的表分區(qū)功能通過改善可管理性、性能和可用性,從而為各式應用程序帶來了極大的好處。通常,分區(qū)可以使某些查詢以及維護操作的性能大大提高。此外,分區(qū)還可以極大簡化常見的管理任務,分區(qū)是構建千兆字節(jié)數(shù)據(jù)系統(tǒng)或超高可用性系統(tǒng)的關鍵工具。

      分區(qū)功能能夠?qū)⒈怼⑺饕蛩饕M織表進一步細分為段,這些數(shù)據(jù)庫對象的段叫做分區(qū)。每個分區(qū)有自己的名稱,還可以選擇自己的存儲特性。

      從數(shù)據(jù)庫管理員的角度來看,一個分區(qū)后的對象具有多個段,這些段既可進行集體管理,也可單獨管理,這就使數(shù)據(jù)庫管理員在管理分區(qū)后的對象時有相當大的靈活性。但是,從應用程序的角度來看,分區(qū)后的表與非分區(qū)表完全相同,使用SQL DML命令訪問分區(qū)后的表時,無需任何修改。

      1.1 分區(qū)表的優(yōu)勢

      (1)增強可用性。如果表的某個分區(qū)損害,表在其他分區(qū)的數(shù)據(jù)仍然可用;

      (2)維護方便。如果表的每個分區(qū)損害,只需修復該分區(qū)即可;

      (3)均衡I/O。可以把不同的分區(qū)映射到不同的磁盤以平衡I/O,改善整個系統(tǒng)性能;

      (4)改善查詢性能。對分區(qū)表的查詢可以只搜索自己關心的分區(qū),以提高檢索速度。

      1.2 分區(qū)表的類型

      (1)范圍分區(qū)。對數(shù)據(jù)表中的某個值的范圍進行分區(qū),根據(jù)某個值的范圍,決定將該數(shù)據(jù)存儲在哪個分區(qū)上。如根據(jù)序號分區(qū),根據(jù)業(yè)務記錄的創(chuàng)建日期進行分區(qū)等;

      (2)Hash分區(qū)(散列分區(qū))。通過指定分區(qū)編號來均勻分布數(shù)據(jù)的一種分區(qū)類型,因為通過在I/O設備上進行散列分區(qū),使得這些分區(qū)大小一致;

      (3)List分區(qū)(列表分區(qū))。需要明確地控制如何將行映射到分區(qū)時,就使用列表分區(qū)方法;

      (4)組合分區(qū)。有兩個數(shù)據(jù)分布辦法用于創(chuàng)建混合分區(qū),表首先通過第一個數(shù)據(jù)分布辦法進行初始化分區(qū),然后每個分區(qū)再通過第二個辦法分成子分區(qū)??捎玫慕M合分區(qū)如下:范圍-哈希,范圍-列表,范圍-范圍,列表-范圍,列表-列表,列表-哈希。

      除此之外,Oracle 11g還新增四種分區(qū)技術。分別是間隔分區(qū)、引用分區(qū)、基于虛擬列分區(qū)、交換分區(qū)。

      2 創(chuàng)建存儲移動話費清單數(shù)據(jù)表

      基于移動話費清單數(shù)據(jù)表的復雜性,因此,在進行表分區(qū)時,主分區(qū)采用按月份進行分區(qū),子分區(qū)按地區(qū)進行分區(qū)。

      (1)為了方便管理數(shù)據(jù)表,創(chuàng)建特定的表空間存放話費清單數(shù)據(jù)表,創(chuàng)建的表空間和數(shù)據(jù)表如下。

      create tablespace nw datafile'e:\data\nw01.dbf' size 100m autoextend on;

      create temporary tablespace nwtemp tempfile'e:\data\nwtemp.dbf' size 300m;

      create table mobilephone

      (name varchar2(10) not 1,phone_number varchar2(20) not 1,month date not 1 ,region_id varchar2(50) not 1 )

      partition by range(month)

      subpartition by list(region_id)

      (partition p1 values less than (to_date('2013-01-01','yyyy-mm-dd')),

      partition p2 values less than (to_date('2013-02-01','yyyy-mm-dd')),

      partition p3 values less than (to_date('2013-03-01','yyyy-mm-dd')),

      partition p4 values less than (to_date('2013-04-01','yyyy-mm-dd')),

      partition p5 values less than (to_date('2013-05-01','yyyy-mm-dd')),

      partition p6 values less than (to_date('2013-06-01','yyyy-mm-dd')),

      partition p7 values less than (to_date('2013-07-01','yyyy-mm-dd')),

      partition p8 values less than (to_date('2013-08-01','yyyy-mm-dd')),

      partition p9 values less than (to_date('2013-09-01','yyyy-mm-dd')),

      partition p10 values less than (to_date('2013-10-01','yyyy-mm-dd')),

      partition p11 values less than (to_date('2013-11-01','yyyy-mm-dd')),

      partition p12 values less than (to_date('2013-12-01','yyyy-mm-dd')),

      partition p13 values less than (maxvalue))

      (2)查詢速度對比。插入數(shù)據(jù)到mobilephone中進行驗證,如圖1所示。

      圖1 查詢mobilephone表中的數(shù)據(jù)

      從圖1中,可以看出查詢該清單數(shù)據(jù)表花的時間是8秒。

      創(chuàng)建非分區(qū)表,表結構如下:

      create table mobilephone1

      (name varchar2(10) not 1,phone_number varchar2(20) not 1,month date not 1,region_id varchar2(50) not 1)

      在數(shù)據(jù)表mobilephone1中插入測試數(shù)據(jù)(與插入mobilephone表的數(shù)據(jù)相同),在表mobilephone1中進行查詢,結果如圖2所示。

      圖2 查詢mobilephone1表中的數(shù)據(jù)

      從圖2中,可以看出查詢該清單數(shù)據(jù)表花的時間是12秒。從圖1和圖2結果顯示,在沒有創(chuàng)建分區(qū)表中查詢的時間要多4秒。本次測試的數(shù)據(jù)是14條記錄,如果數(shù)據(jù)越多,則效果更明顯。

      3 結束語

      隨著移動用戶的數(shù)量不斷增長,移動系統(tǒng)數(shù)據(jù)庫里的巨型表和索引會越來越多,利用Oracle的分區(qū)技術,將這些巨型的表或索引分割成相對較小可獨立管理的部分,無疑會使簡化數(shù)據(jù)庫的管理和維護工作,同時也使數(shù)據(jù)庫的性能得到改善。

      參考文獻:

      [1]趙振平.Oracle數(shù)據(jù)庫精講與疑難解析[M].北京:電子工業(yè)出版社,2008.

      [2]Oracle Database 10g DBA手冊[M].北京:清華大學出版社,2006.

      [3]王偉平.Oracle 11g網(wǎng)絡大講堂[M].北京:清華大學出版社,2013.

      [4]張鑫.基于Oracle的電信級數(shù)據(jù)倉庫查詢優(yōu)化研究與實現(xiàn)[D].西安電子科技大學,2007.

      [5]鐘明.基于Oracle成本的系統(tǒng)性能優(yōu)化方法研究與應用[D].中南大學,2011.

      [6]徐輝良.基于ORACLE的數(shù)據(jù)庫性能調(diào)優(yōu)技術研究[D].西南交通大學,2009.

      作者簡介:游琪,女,江西九江人,講師,碩士研究生,研究方向:計算機應用、數(shù)據(jù)庫應用。

      作者單位:廣東科學技術職業(yè)學院,廣東珠海 519090

      鄂伦春自治旗| 微山县| 班玛县| 武陟县| 通河县| 盘山县| 襄汾县| 永修县| 刚察县| 普兰店市| 三台县| 北辰区| 海口市| 格尔木市| 竹溪县| 金昌市| 什邡市| 晴隆县| 静海县| 合江县| 修武县| 巴彦县| 额尔古纳市| 广河县| 会同县| 新津县| 常宁市| 新邵县| 昌吉市| 云安县| 博客| 友谊县| 富宁县| 布拖县| 台州市| 曲阜市| 商城县| 岳普湖县| 信阳市| 隆昌县| 隆安县|