當前位置:成語大全網 - 書法字典 - 簡單來說就是Oracle11g分區函數。

簡單來說就是Oracle11g分區函數。

數據庫分區是每個數據庫都需要的關鍵功能之壹。幾乎所有的Oracle數據庫都使用分區函數來提高查詢性能。Oracle g分區功能可以簡化數據庫的日常管理和維護,大大減少DBA(數據庫設計和管理工程師)的工作量。

Oracle g中提供的新函數增加了更多的數據庫分區函數選擇,這使得分區函數在使用和維護方面更加靈活。同時,Oracle g還提供了更多的分區函數選項。

Oracle版本首次引入了表的分區功能,使Oracle成為第壹個支持物理分區的RDBMS供應商。SQLServer()和DB都只支持邏輯分區(使用UNION ALL view),而SQL Server不直接支持物理分區(通過分區函數)。Oracle的分區功能在用戶中非常受歡迎,因為分區功能可以提高應用程序的性能、可管理性和可用性,最重要的是DSS應用程序因該功能而廣受喜愛,因此每次發布新版本時都會不斷改進該功能。

下表列出了隨著版本更新而不斷改進的分區函數(高級)。

配分函數類型

現在讓我們簡單討論壹下上面每個分區函數的特性。

範圍分區數據是根據分區鍵範圍指定分布的。例如,如果我們選擇日期列作為分區鍵,分區JAN將包括從1月到1月的所有分區鍵值(假設分區範圍是從本月的第壹天到本月的最後壹天)。

哈希分區使用分區鍵的哈希算法來確定指定行所在的分區。這種分區方法可以保持I/O平衡,但不能用於範圍查詢或不等式查詢。

列表分區數據是根據分區鍵值列表指定分布的。這種分區方法對於離散列表非常有用,例如地區和國家。

與數據分區方法結合的組合分區可以成為組合分區方法。首先,通過第壹種數據分布方法對表進行分區,然後通過第二種數據分區方法對每個分區進行分區。組合分區方法有以下組合。

組合範圍哈希分區組合範圍列表分區組合範圍分區組合列表哈希分區

g支持索引組織表(包含索引和數據的表)的範圍分區、列表分區或哈希分區,但不支持組合分區。

區間劃分G版本引入了區間劃分範圍劃分的增強功能,可以實現等大小範圍劃分的自動化。作為元數據,只有初始分區是永久分區。隨著數據的增加,將分配更多的部分,並自動創建新的分區和本地索引。

SQL & gtCREATETABLESALES_PART

(時間標識號地區標識號

訂單ID號

訂單日期日期

銷售數量()

銷售金額編號()

)

按範圍劃分(訂單日期)

間隔(NUMTOYMINTERVAL(月)

(分區p_first值小於(JAN);

Numtoyminterval函數將數字轉換為年到月的文本間隔。

具有區間劃分的表具有傳統的範圍部分和自動生成的區間部分。使用ALTER TABLE命令的SETINTERVAL選項可以將具有區間分區的表擴展為區間分區表。

外鍵分區方案的引入是以相關表通過相同的分區策略獲得利益為前提的。設想的細節表通過PK FK關系從主表繼承相同的分區方案。我們不需要在明細表中存儲分區鍵來通過關鍵字PARTITION BY REFERENCE detail table獲取主表的分區方案。

在以前的Oracle版本中,只有當表中存在分區鍵時才能實現表的分區功能,但Oracle G的新功能virtual column打破了這壹限制,允許使用表中壹列或多列的表達式來確定分區鍵,而Virtual Column僅作為元數據存儲。

例如,向表ACCOUNTS中添加壹個虛擬列。

SQL & gt創建表格帳戶

(賬號編號()不為空

acc_name varchar()不為空

acc_loc varchar()

生成的acc_branch number()始終為(to _ number(substr(to _ char(ACC _ no)));

使用虛擬列作為分區鍵

SQL & gt創建表格帳戶

(賬號編號()不為空

acc_name varchar()不為空

acc_loc varchar()

acc_branch number()始終生成為(to _ number(substr(to _ char(ACC _ no)))

按列表分區(ACC _ branch);

分區顧問

Lishi Xinzhi/Article/program/Oracle/201311/18976