日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle表空間詳解

瀏覽:384日期:2023-05-30 16:13:55
目錄
  • 1. 基本概念
  • 2. 范圍分區(qū)
  • 3. Hash分區(qū)(散列分區(qū))
  • 4. 復合分區(qū)

1. 基本概念

Oracle表分區(qū)是將一個大型表分割成更小、更易于管理的部分的技術。分區(qū)后的表被稱為分區(qū)表,其中每個分區(qū)都可以獨立地進行維護、管理和查詢。表分區(qū)可基于表中的一列或多列,稱為分區(qū)鍵,分區(qū)鍵的值確定了每行數(shù)據(jù)屬于哪個分區(qū)。

使用分區(qū)具有以下優(yōu)點:

  • (1)改善查詢性能:由于表分區(qū)將數(shù)據(jù)分割成更小、更可管理的部分,對分區(qū)對象的查詢可以僅搜索特定分區(qū),提高檢索速度。如在范圍分區(qū)的情況下,可以更快地查詢特定時間段的數(shù)據(jù)。
  • (2)維護方便:分而治之,每個分區(qū)都可以獨立地進行維護和管理,更容易地維。如表的某個分區(qū)出現(xiàn)故障,需要修復數(shù)據(jù),只修復該分區(qū)即可;又如在范圍分區(qū)的情況下,可以更容易地刪除或歸檔舊數(shù)據(jù)。
  • (3)可用性:實際各分區(qū)的數(shù)據(jù)是獨立存放,如果表的某個分區(qū)出現(xiàn)故障,表在其他分區(qū)的數(shù)據(jù)仍然可用;
  • (4)均衡I/O:可把不同的分區(qū)映射到磁盤以平衡I/O,改善整個系統(tǒng)性能;并且可以更快地加載數(shù)據(jù),因為可以并行加載多個分區(qū)。如在哈希分區(qū)的情況下,可以并行加載多個分區(qū),從而大大提高了數(shù)據(jù)加載的速度。

Oracle數(shù)據(jù)庫提供對表或索引的分區(qū)常用方法主要有三種:

  • 范圍分區(qū)
  • Hash分區(qū)(散列分區(qū))
  • 復合分區(qū)

先建三個表空間:

create tablespace ma_tra01 datafile "D:\oracle\product\10.2.0\oradata\orcl\ma_tra01.dnf" size 50M; 
create tablespace ma_tra02 datafile "D:\oracle\product\10.2.0\oradata\orcl\ma_tra02.dnf" size 50M; 
create tablespace ma_tra03 datafile "D:\oracle\product\10.2.0\oradata\orcl\ma_tra03.dnf" size 50M;

2. 范圍分區(qū)

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

e.g.

需求描述:有一個物料交易表,表名:material_transactions。該表將來可能有千萬級的數(shù)據(jù)記錄數(shù)。要求在建該表的時候使用分區(qū)表。 這時候我們可以使用序號分區(qū)三個區(qū),每個區(qū)中預計存儲三千萬的數(shù)據(jù),也可以使用日期分區(qū),如每五年的數(shù)據(jù)存儲在一個分區(qū)上。

  • 根據(jù)交易記錄的序號分區(qū)建表
create table material_transactions ( 
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300),
transaction_date date not null 
) 
partition by range (transaction_id) ( 
partition part_01 values less than(30000000) tablespace ma_tra01,
partition part_02 values less than(60000000) tablespace ma_tra02, 
partition part_03 values less than(maxvalue) tablespace ma_tra03); 
  • 根據(jù)交易日期分區(qū)建表
create table material_transactions (
transaction_id number primary key, 
item_id number(8) not null,
item_description varchar2(300), 
transaction_date date not null ) 
partition by range (transaction_date) (
partition part_01 values less than(to_date("2006-01-01","yyyy-mm-dd")) tablespace ma_tra01,
partition part_02 values less than(to_date("2010-01-01","yyyy-mm-dd")) tablespace ma_tra02,
partition part_03 values less than(maxvalue) tablespace ma_tra03); 

這樣分別建了以交易序號和交易日期來分區(qū)的分區(qū)表。

  • 插入數(shù)據(jù):每次插入數(shù)據(jù)的時候,系統(tǒng)將根據(jù)指定的字段的值來自動將記錄存儲到制定的分區(qū)(表空間)中。
insert into material_transactions values(1,12,"BOOKS1",sysdate); 
insert into material_transactions Values(2,12, "BOOKS2",sysdate+30); 
insert into material_transactions values(3,12, "BOOKS3",to_date("2006-05-30","yyyy-mm-dd")); 
insert into material_transactions values(4,12, "BOOKS4",to_date("2007-06-23","yyyy-mm-dd")); 
insert into material_transactions values(5,12, "BOOKS5",to_date("2011-02-26","yyyy-mm-dd")); 
insert into material_transactions values(6,12, "BOOKS6",to_date("2011-04-30","yyyy-mm-dd")); 
Commit;
  • 查詢分區(qū)表
select * from material_transactions partition(part_03) t

可以對分區(qū)表進行跟新或刪除,默認情況下,oracle的分區(qū)表對于分區(qū)字段是不允許進行update操作的,如果有對分區(qū)字段行進update,就會報ORA-14402錯誤: 更新分區(qū)關鍵字列將導致分區(qū)的更改。但是可以通過打開表的row movement屬性來允許對分區(qū)字段的update操作,但是這樣會導致無效對象的產(chǎn)生,所以不推薦使用。可通過刪除舊數(shù)據(jù),插入新數(shù)據(jù)來解決。

還可以根據(jù)需求,使用兩個字段的范圍分布來分區(qū),如partition by range ( transaction_id ,transaction_date), 分區(qū)條件中的值也做相應的改變。

  • 增加一個分區(qū)
Alter Table  material_transactions Add Partition part_04 Values Less Than (to_date("20150101","yyyymmdd")) Tablespace ma_tra04

增加分區(qū)的條件必須大于現(xiàn)有分區(qū)的最大條件值,否則會提示ORA-14074:分區(qū)界限必須調(diào)整為高于最后一個分區(qū)界限

  • 合并兩個個分區(qū)
Alter Table material_transactions Merge Partitions part_01,part_02 Into Partition part_02;
  • 刪除分區(qū)(數(shù)據(jù)也會被刪除)

3. Hash分區(qū)(散列分區(qū))

散列分區(qū)為通過指定分區(qū)編號來均勻分布數(shù)據(jù)的一種分區(qū)類型,因為通過在I/O設備上進行散列分區(qū),使得這些分區(qū)大小一致。如將物料交易表的數(shù)據(jù)根據(jù)交易ID散列地存放在指定的三個表空間中:

create table material_transactions_hash (
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300), 
transaction_date Date) 
partition by hash(transaction_id) (
partition part_01 tablespace ma_tra01, 
partition part_02 tablespace ma_tra02, 
partition part_03 tablespace ma_tra03); 

建表成功,此時插入數(shù)據(jù),系統(tǒng)將按transaction_id將記錄散列地插入三個分區(qū)中,這里也就是三個不同的表空間中。

4. 復合分區(qū)

有時需要根據(jù)范圍分區(qū)后,每個分區(qū)內(nèi)的數(shù)據(jù)再散列地分布在幾個表空間中,這樣我們就要使用復合分區(qū)。復合分區(qū)是先使用范圍分區(qū),然后在每個分區(qū)內(nèi) 再使用散列分區(qū)的一種分區(qū)方法,如將物料交易的記錄按時間分區(qū),然后每個分區(qū)中的數(shù)據(jù)分三個子分區(qū),將數(shù)據(jù)散列地存儲在三個指定的表空間中:

create table material_transactions_test  (
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300), 
transaction_date date ) 
partition by range(transaction_date) subpartition by hash(transaction_id) 
subpartitions 3 store in (ma_tra01,ma_tra02,ma_tra03) (
partition part_01 values less than(to_date("2006-01-01","yyyy-mm-dd")), 
partition part_02 values less than(to_date("2010-01-01","yyyy-mm-dd")), 
partition part_03 values less than(maxvalue) ); 

該例中,先是根據(jù)交易日期進行范圍分區(qū),然后根據(jù)交易的ID將記錄散列地存儲在三個表空間中。

分區(qū)表可以建立局部索引與全局索引,當分區(qū)表中出現(xiàn)許多事務并且要保證所有分區(qū)中的數(shù)據(jù)記錄的唯一性時需要采用全局索引。

Create Index idx_matra_itemid On material_transactions(item_id) Local;
Create Index idx_matra_itemid On material_transactions(item_id);

到此這篇關于Oracle表空間詳解的文章就介紹到這了,更多相關Oracle表空間內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
aa国产精品| 欧美精品中文| 精品视频一区二区三区在线观看| 日韩不卡一二三区| 日韩精品一区二区三区免费视频 | 成人国产精品一区二区免费麻豆| 欧美日韩精品一区二区三区在线观看| 日韩精品国产欧美| 日韩精品一区二区三区免费视频 | 蜜臀国产一区二区三区在线播放| 国产精品普通话对白| 一区二区日韩免费看| 亚洲精品亚洲人成在线观看| 日韩不卡一区二区三区 | 欧美亚洲三区| 欧美久久一区二区三区| 国产精品乱战久久久| 国产精品久久久一区二区| 精品伊人久久| 日韩另类视频| 一区久久精品| 日韩精品一区二区三区中文 | 激情欧美亚洲| 日韩在线一二三区| 日韩欧美中文在线观看| 国产精品xvideos88| 精品一区91| 精品丝袜在线| 妖精视频成人观看www| 中文视频一区| 国产精品1luya在线播放| 天堂а√在线最新版中文在线| 亚洲高清不卡| 一区二区精品| 精品一区二区三区亚洲| 欧美精品一区二区久久| 日本不卡一二三区黄网| 精品色999| 欧美日韩国产在线观看网站 | 麻豆91精品| 国产精品亚洲欧美日韩一区在线 | 天堂8中文在线最新版在线| 国产手机视频一区二区| 欧美一级网站| 国产成人免费精品| 国产高清一区| 欧美日韩精品一区二区三区视频 | 成人日韩av| 久久伦理在线| 青青在线精品| 99精品视频在线观看免费播放| 亚洲人亚洲人色久| 成人污污视频| 石原莉奈在线亚洲二区| 久久久久久亚洲精品美女| 欧美+亚洲+精品+三区| 日本免费新一区视频| 欧美男人天堂| 亚洲综合中文| 黄色在线观看www| 日韩中文字幕一区二区三区| 国产成人久久精品麻豆二区| 欧美中文字幕| 久久精品国产福利| 国产免费成人| 国产高潮在线| 日欧美一区二区| 91精品韩国| 日韩av网站在线免费观看| 欧美日韩水蜜桃| 欧美激情91| 亚洲狼人精品一区二区三区| 亚洲一级少妇| 久久国产欧美日韩精品| 影音国产精品| 国产美女高潮在线| 久久国产麻豆精品| 亚洲免费在线| 蜜桃av在线播放| 国产亚洲人成a在线v网站| 国产视频一区免费看| 亚洲黄色中文字幕| 日韩精品视频一区二区三区| 亚洲h色精品| 国产精品大片| 日韩精品欧美大片| 六月丁香综合| 亚洲无线一线二线三线区别av| 国产美女撒尿一区二区| 亚洲综合婷婷| 野花国产精品入口| 久久久天天操| 欧美a一区二区| 亚洲精品在线国产| 好看的亚洲午夜视频在线| 理论片午夜视频在线观看| 欧美黑人做爰爽爽爽| 亚洲精品成a人ⅴ香蕉片| 欧美日韩国产精品一区二区亚洲| sm久久捆绑调教精品一区| 欧美精品导航| 97久久超碰| 欧美日韩中文| 青青草伊人久久| 亚洲91网站| 中文字幕成人| 蜜桃久久av一区| 亚洲综合精品| 伊人久久亚洲热| 亚洲高清不卡| 99精品视频精品精品视频| 黄色在线网站噜噜噜| 高清av一区| 成人台湾亚洲精品一区二区| 国产精品18| 欧美黄色一区二区| 欧美国产先锋| 久久精品国产免费| 久久中文精品| 国产精品一区二区精品视频观看| 欧美一级网站| 国产日产一区| 欧美日韩1区| 亚欧成人精品| 日韩三级久久| 国产日韩免费| 久久gogo国模啪啪裸体| 国产麻豆精品久久| 久久久久久久久成人| 欧美激情视频一区二区三区在线播放| 国产精品红桃| 久久精品国产亚洲aⅴ| 久久精品一区| 97国产成人高清在线观看| 天堂а√在线最新版中文在线| 日韩av专区| 日韩久久精品网| 久久免费国产| 激情欧美亚洲| 国产偷自视频区视频一区二区| 久久国产高清| 日本成人中文字幕| 国产精品分类| 国产精品久久观看| 久久精品影视| 免费一区二区视频| 日韩不卡一二三区| 久久精品理论片| 精精国产xxxx视频在线野外| 五月天久久久| 亚洲视频电影在线| 国产精品久久久久久久免费软件 | 免费日本视频一区| 97久久精品| 韩国一区二区三区视频| 久久久久国产| 亚洲午夜久久| 国产精品777777在线播放 | 你懂的国产精品永久在线| 福利欧美精品在线| 激情综合网站| 日韩午夜视频在线| 精品一区二区三区四区五区| 成人精品中文字幕| 日韩精品一二区| 国产精品美女在线观看直播| 日韩欧美精品一区| 国产视频亚洲| 久久国产精品色av免费看| 成人在线免费观看网站| 激情久久中文字幕| 日韩二区三区在线观看| 国产一区二区三区四区五区| 亚洲精品一区二区妖精| 亚洲日本三级| 捆绑调教日本一区二区三区| 99视频+国产日韩欧美| 日韩精选在线| 日韩在线免费| 日本一区福利在线| 成人看片网站| 日韩二区三区四区| 成人免费网站www网站高清| 亚洲一二av| 都市激情国产精品| 中文一区一区三区免费在线观 | 欧美日本一区| 欧洲精品一区二区三区| 亚洲精品乱码日韩| av亚洲一区二区三区| 日韩欧美中文字幕在线视频| 综合日韩av| 免费在线观看不卡| 正在播放日韩精品| 日韩av中文字幕一区二区三区| 日韩在线观看不卡| 国产日韩高清一区二区三区在线 | 亚洲欧美激情诱惑| 国产一区二区三区日韩精品| 久热综合在线亚洲精品|