前段時間,看了羅女士( 資深技術顧問 -oracle中國 顧問諮詢部)關於《大批量資料處理技術的演講》**,感覺受益良多,結合多年的知識積累,柯南君給大家分享一下:
交流內容:
一、oracle的分割槽技術
(一)分割槽技術內容
1. 什麼是分割槽?
分割槽就是將乙個非常大的table或者index按照某一列的值,分解為更小的,易於管理的邏輯片段---分割槽。將表或者索引分割槽不會影響sql語句以及dml(見備註)語句,就和使用非分割槽表一樣,每個分割槽擁有自己的segment(見備註),因為,ddl(見備註)能夠將比較大的任務分解為更小的顆粒。分割槽表只有定義資訊,只有每個存放資料的分割槽才有各自的segment。就好象擁有多個相同列名,列型別的乙個大的檢視。
大資料物件(表,索引)被分成小物理段; 當分割槽表建立時,記錄基於分割槽字段值被儲存到相應的分割槽; 分割槽字段值可以修改(row movement enable); 分割槽可以儲存在不同的表空間; 分割槽可以有不同的物理儲存引數; 分割槽可以支援iot表,物件表,lob欄位,varrays等;備註:
① dml(data manipulation language):
它們是select、update、insert、delete,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言;
② segment(data
manipulation language):
段(segment)是一種在資料庫中消耗物理儲存空間的任何實體(乙個段可能存在於多個資料檔案中,因為物理的資料檔案
是組成邏輯表空間的基本物理儲存單位)
2.分割槽的好處?
效能 - select 和 dml操作只訪問指定分割槽
- 並行dml操作
- patition - wise join
可管理性:資料刪除,資料備份
- 歷史資料清除
- 提高備份效能
- 指定分割槽的資料維護操作
可用性 - 將故障侷限在分割槽中
- 縮短恢復時間
分割槽目標優先順序
- 高效能->資料維護能力->實施難度->高可用性(故障遮蔽能力)
③ 如何實施分割槽?
a . range partitioning(範圍分割槽)
【案例分析】:
就是根據資料庫表中某一字段的值的範圍來劃分分割槽,例如:
sql**
Oracle分割槽技術
oracle的分割槽 partitioning option 是一種處理超大型表的技術。分割槽是一種 分而治之 的技術,通過將大表和索引分成可以管理的小塊,從而避免了對每個表作為乙個大的 單獨的物件進行管理,為大量資料提供了可伸縮的效能。分割槽通過將操作分配給更小的儲存單元,減少了需要進行管理操作的...
oracle之表分割槽
分割槽元素 字串,日期時間或間隔文字,數字或 maxvalue 檢視表的分割槽,利用user tab partitions select table name,partition name from user tab partitions where table name stud 1 範圍分割槽 ...
oracle分割槽技術提高查詢效率
當表中的資料量不斷增大,查詢資料的速度就會變慢,應用程式的效能就會下降,這時就應該考慮對錶進行分割槽。表進行分割槽後,邏輯上表仍然是一張完整的表,只是將表中的資料在物理上存放到多個表空間 物理檔案上 這樣查詢資料時,不至於每次都掃瞄整張表。下面介紹如何使用分割槽增加查詢效率 range分割槽 就是區...