国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - ORACLE 分區表的設計

ORACLE 分區表的設計

2019-11-06 13:34ORACLE教程網 Oracle

分區致力于解決支持極大表和索引的關鍵問題。它采用他們分解成較小和易于管理的稱為分區的片(piece)的方法。

分區表的概念 
分區致力于解決支持極大表和索引的關鍵問題。它采用他們分解成較小和易于管理的稱為分區的片(piece)的方法。一旦分區被定義,SQL語句就可以訪問的操作某一個分區而不是整個表,因而提高管理的效率。分區對于數據倉庫應用程序非常有效,因為他們常常存儲和分析巨量的歷史數據。 

分區表的分類 
Range partitioning(范圍分區) 
Hash partitioning(哈希分區) 
List partitioning(列表分區) 
Composite range-hash partitioning(范圍-哈希組合分區) 
Composite range-list partitioning(范圍-列表組合分區) 

何時選擇范圍分區 
必須可以將表的記錄按照某一列值的范圍進行劃分。你想處理一些數據,這些數據經常是屬于某一個范圍內,例如月份。如果數據能夠按照分區的范圍均勻分布的話,那會獲得最佳性能。如果數據分布很不均勻的話,你可能不得不選擇其他分區方式。 
CREATE TABLE sales 
( invoice_no NUMBER, 
sale_year INT NOT NULL, 
sale_month INT NOT NULL, 
sale_day INT NOT NULL ) 
PARTITION BY RANGE (sale_year, sale_month, sale_day) 
( PARTITION sales_q1 VALUES LESS THAN (1999, 04, 01) 
TABLESPACE tsa, 
PARTITION sales_q2 VALUES LESS THAN (1999, 07, 01) 
TABLESPACE tsb, 
PARTITION sales_q3 VALUES LESS THAN (1999, 10, 01) 
TABLESPACE tsc, 
PARTITION sales_q4 VALUES LESS THAN (2000, 01, 01) 
TABLESPACE tsd ); 

何時選擇HASH分區 
如果數據不容易用范圍分區,但你想提升性能和表的易管理性。 Hash分區提供了一個在指定數量的分區內交叉均勻分布數據的方法。行根據分區鍵的hash值映射到相應分區中。創建和使用hash分區你可以靈活放置數據,可以通過交叉訪問在不同I/O設備上的分區提升性能。 
CREATE TABLE scubagear (id NUMBER, name VARCHAR2 (60)) 
PARTITION BY HASH (id) 
PARTITIONS 4 STORE IN (gear1, gear2, gear3, gear4); 

何時選擇列表分區 
使用LIST分區你可以直接控制某些數據映射到某些分區。你可以為某個分區指定不連續的分區鍵值。這不同于RANGE分區(用鍵值的范圍劃分分區),也不同于HASH分區(不能控制某行映射到哪個分區)。 
CREATE TABLE q1_sales_by_region 
(deptno number, deptname varchar2(20), quarterly_sales number(10, 2), state varchar2(2)) 
PARTITION BY LIST (state) 
(PARTITION q1_northwest VALUES ('OR', 'WA'), 
PARTITION q1_southwest VALUES ('AZ', 'UT', 'NM'), 
PARTITION q1_northeast VALUES ('NY', 'VM', 'NJ'), 
PARTITION q1_southeast VALUES ('FL', 'GA'), 
PARTITION q1_northcentral VALUES ('SD', 'WI'), 
PARTITION q1_southcentral VALUES ('OK', 'TX')); 

分區表的設計 
如何選擇分區的類型,如何選擇分區的列呢?在這之前你必須明確你的目的——易管理性和性能,你更注重哪個方面?分區表所影響的方面可以歸類為以下幾種:性能、易管理性、數據清理。 
下面分別說說分區表對每一項的具體影響, 
性能: 
這一般是分區的主要目的。分區將大表變成了小表,當where之后的條件體現分區字段的具體值時,避免了全表掃描。 
易于管理: 
對于包含海量數據的大表,分區帶來的易于管理性是非常明顯的。當你建議一個基于非分區表的索引時,唯一的選擇就是創建整個索引。如果表被分區,你就可以根據分區并行為此表創建索引,例如: 
alter index par_ind_01 reuild partition yy05; 
除此之外你還可以同時的做很多事情,像改變表所在表空間、導出表,刪除表數據等等。 
數據清理: 
我們經常會需要刪除表的一些歷史數據,一般做法是delete,但是這會導致undo和redo的信息快速增長,而且影響數據庫整體性能。這時我們就可以利用drop某個分區來完成此任務,例如: 
alter table tab_a drop partition yy01; 
當一個表的分區被刪除,對應的local索引也同時被刪除。如果還存在著global索引,那么它會變成unusable狀態。為了避免此事情的發生,你可以使用: 
alter table tab_a drop partition yy01 update global indexes;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一级毛片一级 | 欧美一级欧美三级在线观看 | 色网在线看 | 国产 欧美 日韩 一区 | 免费一级a毛片免费观看 | 国产高清不卡在线 | 国产在线观看一区二区 | 国产日韩精品在线观看 | 男人天堂视频网 | 久久国产精品一区二区 | 精品在线一区 | 成人影音 | 日日噜| 精品久久久久久国产 | 日韩超级大片免费看国产国产播放器 | 色综合中文 | 国产在线观看一区 | 日韩一区二区在线免费 | 久久久一 | 精品伊人 | www.一区二区三区 | 在线精品国产 | 久久99精品久久久久久久青青日本 | 国产精品亚洲成在人线 | 91精品国产乱码久久久久久 | jlzzjlzz国产精品久久 | 日韩毛片 | 国产福利在线观看 | 欧美日韩中文在线 | 日韩亚洲一区二区 | 久久久免费视频播放 | 亚洲综合自拍 | 午夜激情影院 | 亚洲综合第一页 | 中文字幕免费视频 | 亚洲自拍偷拍精品 | 中文在线视频 | 久久精品国产一区二区电影 | av在线精品 | 国产男人天堂 | 亚洲精品字幕 |