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

有朋友問了一些關于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
推荐阅读
釘釘智能填表如何實現
釘釘智能填表如何實現
1、打開釘釘,進入【工作選項卡】。2、在【其他應用】功能區選擇【隻能填表】。3、點擊【智能填表】進入如下視圖界面内容。4、點擊【+】新建智能填表。5、可進入到編輯填表如問卷調查界面,編輯需要的内容即可。
2024-04-28
word2016雙行合一怎麼設置
word2016雙行合一怎麼設置
演示機型:華為MateBookX系統版本:win10APP版本:Word20161、打開一個word文檔,之後選中打算雙行合一的文字。2、點擊圖示中的按鈕。3、點擊選擇雙行合一。4、點擊勾選上帶括号。5、點擊确定即可。MicrosoftOfficeWord是微軟公司的一個收費文字處理應用程序,是最流行的文字處理程序之一。它最初是RichardBrodie為了運行DOS的IBM計算機而在1983年編
2024-04-28
百度雲是什麼
百度雲是什麼
1、百度雲即現在的百度雲盤。是百度推出的一項雲存儲的服務。用戶可以将自己的文件或者其他資料上傳到網盤...
2024-04-28
五嶽排名
五嶽排名
1、泰山,泰山名氣很大,古代帝王一旦覺得自己達到曆史新高度,就喜歡去封禅,首選就是泰山。曆代古人在泰...
2024-04-28
蘋果手機無限重啟怎麼辦
蘋果手機無限重啟怎麼辦
1、遇到蘋果手機無限重啟這種問題,一般可能由于手機系統出錯,軟件與系統沖突或者是蘋果手機内部硬件問題導緻的,比如:電池老化,線路接觸不良等等原因造成的。2、可以嘗試同時按住蘋果手機Shome鍵與電源鍵按鈕,強制重啟手機一下,在看看是否恢複正常。3、如未能夠恢複正常的話,則建議還原一下蘋果手機出廠設置一下,依次打開蘋果手機設置,通用、點擊還原、抹掉所有内容和設置。(注意:抹掉所有内容和設置之後數據将
2024-04-28
Copyright 2023-2024 - www.tftnews.com All Rights Reserved