自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入Oracle 11g分區(qū)功能

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運維
Oracle 11g分區(qū)功能可以減輕DBA的工作負擔,簡化Oracle數(shù)據(jù)庫的日常管理維護工作。本文向您詳細介紹Oracle 11g分區(qū)功能。

數(shù)據(jù)庫分區(qū)是每種數(shù)據(jù)庫都需具備的關(guān)鍵功能之一。幾乎所有的Oracle數(shù)據(jù)庫都使用分區(qū)功能來提高查詢的性能,Oracle 11g分區(qū)功能可以簡化數(shù)據(jù)庫的日常管理維護工作,大大減輕了DBA(數(shù)據(jù)庫設計和管理工程師)的工作負擔。

Oracle 11g中提供的新功能增添了更多的數(shù)據(jù)庫分區(qū)功能選擇,使分區(qū)功能在使用和維護上變得更加靈活;同時,Oracle 11g也提供更多的分區(qū)功能選擇。

Oracle 8.0版最早推出了表格的分區(qū)功能,使Oracle成為了第一個支持物理分區(qū)的RDBMS供應商。SQL Server(2000)和DB2都只支持邏輯分區(qū)(使用UNION ALL視圖),而SQL Server 2005并不直接支持物理分區(qū)(需通過分區(qū)功能)。Oracle的分區(qū)功能選擇很受用戶群的歡迎,因為分區(qū)功能能夠改善應用程序的性能、可管理性和可用性,其中最重要的是DSS應用程序。由于該功能受到廣泛的喜愛,因此每次發(fā)布新版本都會有功能上的不斷提高。

下面的表格列舉了隨版本更新而不斷提高的分區(qū)功能(高級):

Oracle數(shù)據(jù)庫版本
分區(qū)功能
8.0.5
引入范圍分區(qū)功
8i
引入散落列分區(qū)和組合范圍散列分區(qū)功能。
9i
引入列表分區(qū)和組合范圍列表分區(qū)功能。
10G
引入了對索引組織表進行范圍分區(qū)、列表分區(qū)和三列分區(qū)的功能。該版本還引入了其他組合分區(qū)功能選擇。
11G
引入擴展的分區(qū)功能:
-Interval分區(qū)
-外鍵分區(qū)
-虛擬列分區(qū)
-引入了分區(qū)建議器

分區(qū)功能類型

現(xiàn)在讓我們簡單的討論一下以上每個分區(qū)功能的特性:

范圍分區(qū):數(shù)據(jù)根據(jù)分區(qū)鍵值范圍指定進行分布。比如,如果我們選擇一個日期列作為分區(qū)鍵,分區(qū)“JAN-2007”就會包括所有包含從01-JAN-2007到31-JAN-2007之間的分區(qū)鍵值(假設分區(qū)的范圍是從這個月的第一天到這個月的最后一天)。

散列分區(qū):將散列算法用于分區(qū)鍵來確定指定行所在的分區(qū)。這個分區(qū)方法能夠保持I/O平衡,但是不可用于范圍查詢或不等式查詢。

列表分區(qū):數(shù)據(jù)根據(jù)分區(qū)鍵值列表指定進行分布。這個分區(qū)方法對于離散的列表非常有用,如地區(qū)、國家等。

組合分區(qū):結(jié)合2個數(shù)據(jù)分區(qū)方法可以成為一個組合分區(qū)方法。先用第一個數(shù)據(jù)分布方法對表格進行分區(qū),然后再用第二個數(shù)據(jù)分區(qū)方法對每個分區(qū)進行二次分區(qū)。

組合分區(qū)方法有以下組合

組合范圍散列分區(qū)、組合范圍列表分區(qū)、組合范圍范圍分區(qū)、組合列表范圍分區(qū)、組合列表列表分區(qū)、組合列表散列分區(qū)。

10G支持對索引組織表(索引和數(shù)據(jù)一起的表格)進行范圍分區(qū)、列表分區(qū)或散列分區(qū),但是不支持對其進行組合分區(qū)。

Interval分區(qū):11G版本引入的interval分區(qū)范圍分區(qū)的一種增強功能,可實現(xiàn)equi-sized范圍分區(qū)的自動化。創(chuàng)建的分區(qū)作為元數(shù)據(jù),只有最開始的分區(qū)是永久分區(qū)。隨著數(shù)據(jù)的增加會分配更多的部分,并自動創(chuàng)建新的分區(qū)和本地索引

  1. SQL>CREATE TABLE SALES_PART   
  2.   (TIME_ID NUMBER,   
  3.   REGION_ID NUMBER,   
  4.   ORDER_ID NUMBER,   
  5.   ORDER_DATE DATE,   
  6.   SALES_QTY NUMBER(10,2),   
  7.   SALES_AMOUNT NUMBER(12,2)   
  8.   )   
  9.   PARTITION BY RANGE (ORDER_DATE)   
  10.   INTERVAL (NUMTOYMINTERVAL(1,'month')   
  11.   (PARTITION p_first VALUES LESS THAN ('01-JAN-2006'); 

Numtoyminterval功能把數(shù)字轉(zhuǎn)換成 INTERVAL YEAR TO MONTH文字(‘YEAR’ or ’MONTH’)。

進行Interval分區(qū)的表格有傳統(tǒng)的范圍部分和自動生成的interval部分。進行范圍分區(qū)的表格可以通過使用ALTER TABLE命令的 SET INTERVAL選項擴展成為Interval分區(qū)的表格。

外鍵分區(qū):分區(qū)方案的引入是以相關(guān)表格通過相同的分區(qū)策略獲得好處作為前提設想的。Detail表格通過PK-FK關(guān)系從master表格繼承相同的分區(qū)方案。我們不需要把分區(qū)鍵存儲在detail表格中,通過關(guān)鍵詞“PARTITION BY REFERENCE”,detail表格獲得master表格的分區(qū)方案。

虛擬列分區(qū):在之前的Oracle版本里,只有分區(qū)鍵存在與表格中才可以實現(xiàn)對表格的分區(qū)功能。而Oracle 11G的新功能“虛擬列”打破了這一限制,允許通過使用表格中的一列或多列的表述確定分區(qū)鍵。而虛擬列只作為元數(shù)據(jù)存儲。

例如:在表格ACCOUNTS中添加一個虛擬列:

  1. SQL>CREATE TABLE ACCOUNTS   
  2.   (acc_no number(10) not null,   
  3.   acc_name varchar2(50) not null,   
  4.   acc_loc varchar2(5),   
  5.   acc_branch number(2) generated always as   
  6.   (to_number(substr(to_char(acc_no),1,2))); 

使用虛擬列作為分區(qū)鍵:

  1. SQL>CREATE TABLE accounts   
  2.   (acc_no number(10) not null,   
  3.   acc_name varchar2(50) not null,   
  4.   acc_loc varchar2(5),   
  5.   acc_branch number(2) generated always as   
  6.   (to_number(substr(to_char(acc_no),1,2)))   
  7.   partition by list (acc_branch); 

分區(qū)建議器

Oracle 11g還提供了一個分區(qū)建議器,可支持分區(qū)建議的生成,類似于10G中支持實物化視圖、實物化視圖日志和索引的功能。事實上,分區(qū)建議器在Oracle 11g中是SQL Access Advisor的一部分。這個建議器幫助生成建議,并可以顯示出推薦分區(qū)實施后可獲得的效果。它還會生成創(chuàng)建有效分區(qū)的腳本,可手動通過SQL*Plus提交給Oracle或Enterprise Manager。

 

【編輯推薦】

  1. Oracle 11g R2如約而至 RAC技術(shù)成亮點
  2. Oracle 11g透明數(shù)據(jù)加密安全特性解析
  3. Oracle 11g中實現(xiàn)自我調(diào)整功能
  4. Oracle 11g新特性之模式管理
  5. Oracle 11g R1中的自動數(shù)據(jù)庫維護任務管理
責任編輯:佚名 來源: 網(wǎng)絡轉(zhuǎn)載
相關(guān)推薦

2009-11-20 12:55:08

Oracle 11g功

2010-04-13 15:56:03

Oracle 11g

2009-03-12 10:28:32

數(shù)據(jù)庫Oracle11g自我調(diào)整

2011-08-22 14:50:20

2011-04-15 09:11:21

2009-07-08 00:24:00

數(shù)據(jù)壓縮Oracle 11g

2010-05-10 14:46:54

Oracle 11g

2022-11-29 17:03:00

數(shù)據(jù)庫Oracle

2012-05-07 13:45:45

Oraclen 11g虛擬列數(shù)據(jù)庫

2009-02-15 14:41:19

SQL Perform新特性Oracle

2010-04-01 15:19:56

Oracle 11g壓

2010-04-07 17:27:38

Oracle 11g

2010-04-26 11:26:48

Oracle 11g

2009-01-11 08:16:00

自適應游標共享新特性Oracle 11g

2009-04-15 09:49:20

2009-11-19 17:28:43

Oracle數(shù)據(jù)庫11

2009-07-15 08:37:48

布Oracle SOA

2011-08-30 10:52:47

UbuntuOracle11g

2010-07-08 11:44:00

甲骨文BI

2011-08-19 09:11:24

Oracle 11g回啟動閃回數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號