首页
/
每日頭條
/
科技
/
oracle數據表如何分區
oracle數據表如何分區
更新时间:2024-12-28 09:07:30
概述

有朋友問了一些關于Oracle數據庫分區方面的内容,因為之前也沒怎麼寫這塊,所以整理了下關于分區表的一些内容。


表空間及分區表的概念

表空間:

是一個或多個數據文件的集合,所有的數據對象都存放在指定的表空間中,但主要存放的是表, 所以稱作表空間。

分區表:

當表中的數據量不斷增大,查詢數據的速度就會變慢,應用程序的性能就會下降,這時就應該考慮對表進行分區。表進行分區後,邏輯上表仍然是一張完整的表,隻是将表中的數據在物理上存放到多個表空間(物理文件上),這樣查詢數據時,不至于每次都掃描整張表。

表分區後,分區變成各自的段,而表表成一個邏輯名稱。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)1


表分區的具體作用

Oracle的表分區功能通過改善可管理性、性能和可用性,從而為各式應用程序帶來了極大的好處。通常,分區可以使某些查詢以及維護操作的性能大大提高。此外,分區還可以極大簡化常見的管理任務,分區是構建千兆字節數據系統或超高可用性系統的關鍵工具。

分區功能能夠将表、索引或索引組織表進一步細分為段,這些數據庫對象的段叫做分區。每個分區有自己的名稱,還可以選擇自己的存儲特性。從數據庫管理員的角度來看,一個分區後的對象具有多個段,這些段既可進行集體管理,也可單獨管理,這就使數據庫管理員在管理分區後的對象時有相當大的靈活性。但是,從應用程序的角度來看,分區後的表與非分區表完全相同,使用 SQL DML 命令訪問分區後的表時,無需任何修改。

什麼時候使用分區表:

1、表的大小超過2GB。

2、表中包含曆史數據,新的數據被增加都新的分區中。


表分區的優缺點

表分區有以下優點:

1、改善查詢性能:對分區對象的查詢可以僅搜索自己關心的分區,提高檢索速度。

2、增強可用性:如果表的某個分區出現故障,表在其他分區的數據仍然可用;

3、維護方便:如果表的某個分區出現故障,需要修複數據,隻修複該分區即可;

4、均衡I/O:可以把不同的分區映射到磁盤以平衡I/O,改善整個系統性能。

缺點:

分區表相關:已經存在的表沒有方法可以直接轉化為分區表。不過Oracle 提供了在線重定義表的功能。


表分區的分類

1、範圍分區

範圍分區将數據基于範圍映射到每一個分區,這個範圍是你在創建分區時指定的分區鍵決定的。這種分區方式是最為常用的,并且分區鍵經常采用日期。舉個例子:你可能會将銷售數據按照月份進行分區。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)2

當使用範圍分區時,請考慮以下幾個規則:

1)每一個分區都必須有一個VALUES LESS THEN子句,它指定了一個不包括在該分區中的上限值。分區鍵的任何值等于或者大于這個上限值的記錄都會被加入到下一個高一些的分區中。

2)所有分區,除了第一個,都會有一個隐式的下限值,這個值就是此分區的前一個分區的上限值。

3)在最高的分區中,MAXVALUE被定義。MAXVALUE代表了一個不确定的值。這個值高于其它分區中的任何分區鍵的值,也可以理解為高于任何分區中指定的VALUE LESS THEN的值,同時包括空值。

2、列表分區

該分區的特點是某列的值隻有幾個,基于這樣的特點我們可以采用列表分區。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)3

3、散列分區

這類分區是在列值上使用散列算法,以确定将行放入哪個分區中。當列的值沒有合适的條件時,建議使用散列分區。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)4

散列分區為通過指定分區編号來均勻分布數據的一種分區類型,因為通過在I/O設備上進行散列分區,使得這些分區大小一緻。

hash分區最主要的機制是根據hash算法來計算具體某條紀錄應該插入到哪個分區中,hash算法中最重要的是hash函數,Oracle中如果你要使用hash分區,隻需指定分區的數量即可。建議分區的數量采用2的n次方,這樣可以使得各個分區間數據分布更加均勻。

4、組合範圍列表分區

這種分區是基于範圍分區和列表分區,表首先按某列進行範圍分區,然後再按某列進行列表分區,分區之中的分區被稱為子分區。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)5

5、複合範圍散列分區

這種分區是基于範圍分區和散列分區,表首先按某列進行範圍分區,然後再按某列進行散列分區。

oracle數據表如何分區(詳解oracle數據庫分區表--概念)6


篇幅有限,這裡主要介紹一些概念性東西,關于分區的一些常用維護命令後面再單獨介紹下,感興趣的朋友可以關注一下~

oracle數據表如何分區(詳解oracle數據庫分區表--概念)7

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
消費欺詐品牌
消費欺詐品牌
來源:【甘肅廣電-視聽甘肅】為更好服務于廣大消費者,讓消費者敢消費、能消費、願消費,消費過程更加安全放心、便捷舒心,3月14日,甘肅省消費者協會發布“3·15”系列消費提示。購買打折商品勿沖動要理智參與“打折、購物返券、贈送、抽獎、甩賣、積...
2024-12-28
華為手機9x怎麼不顯示運動步數
華為手機9x怎麼不顯示運動步數
華為手機9x怎麼不顯示運動步數?華為手機9x不顯示運動步數或者高概率出現拿着手機走路,運動健康步數長時間不變化(大于1分鐘)的情況,可以通過以下途徑嘗試恢複:,現在小編就來說說關于華為手機9x怎麼不顯示運動步數?下面内容希望能幫助到你,我們...
2024-12-28
excel數據預測趨勢
excel數據預測趨勢
Helo,大家好工作中我們經常會對一些數據進行預測,每當遇到這樣的問題很多人都會覺得非常的頭疼,因為要對數據進行各種統計分析然後彙總結果,給出預測數據,今天就跟大家分享一種快速進行數據預測的方法,僅需10秒就能搞定數據區域非常的快捷一、工作...
2024-12-28
手機進水不要怕教你解決辦法
手機進水不要怕教你解決辦法
在衆多導緻手機損壞的因素當中,被水浸泡是最常見也是最緻命的的一種。在有條件的情況下,應該第一時間拿到專業維修的地方作進水處理,如果沒有,可以按照以下幾步來處理這一狀況。一、立刻從水中撈出并擦幹,切忌馬上開機手機浸泡在水中的時間越長,手機的聽...
2024-12-28
清理手機微信内存空間的兩種方法
清理手機微信内存空間的兩種方法
對于智能手機來說一個很大的問題就是“内存不足”!這是所有智能手機的通病了,不管是蘋果還是安卓的機子,光一個手機微信就能消耗1~2G的内存,有的甚至更多。那如何能夠快速清除手機微信上的一些無效内存呢?小米(安卓)的手機,這裡提供兩個方法。第一...
2024-12-28
Copyright 2023-2024 - www.tftnews.com All Rights Reserved