關於 Oracle 分割槽索引的建立和維護
像分割槽表一樣,索引也可以進行分割槽,包括
1、全域性分割槽索引
是一個獨立的分割槽。
2、本地分割槽索引
自動和分割槽表相關聯。
適用範圍:
通常來說,全域性分割槽索引適用於 OLTP 線上交易系統;而區域性分割槽索引適用於資料倉儲或決策系統。
選擇分割槽索引的型別:
按照下面的順序
1、如果分割槽表的分割槽欄位是索引鍵值的子集,則使用本地索引;如果不是這樣,則進入步驟2。
2、如果索引是唯一的並且不包含分割槽表的分割槽欄位,則使用全域性索引;如果不是這樣,則進入步驟3。
3、如果你想管理方便,則使用本地索引;如果不是這樣,則進入步驟4。
4、如果應用程式是線上交易系統(OLTP)且需要很快的響應時間,則使用全域性索引。如果應用程式是決策系統(DDS)且更關注資料的吞吐量,則使用本地索引。
本地分割槽索引
本地分割槽索引易於維護,每一個本地索引的分割槽都和一個表的分割槽相關聯。這個功能使得 Oracle 自動地維護索引分割槽到表分割槽的同步。如果一個分割槽中的資料失效了,則只會影響一個分割槽。
一種叫做非字首的本地索引在歷史資料庫中非常有用,在這種型別的索引中,分割槽不是在索引列的左邊字首。你不能為本地索引新增分割槽,只有當你給某個表新增分割槽時,你才可以新增本地索引。
本地索引可以是唯一的。然而,為了讓一個本地索引是唯一的,表的分割槽鍵必須是索引鍵列的一部分。
全域性分割槽索引
Oracle 包括全域性範圍分割槽索引和全域性雜湊分割槽索引。
全域性範圍分割槽索引
全域性範圍分割槽索引是分割槽程度和分割槽鍵獨立於分割槽表的一種靈活分割槽方法。要新增一個新的最高分割槽,可以使用 ALTER INDEX SPLITPARTITION 語句。如果一個全域性索引分割槽是空的,你可以透過 ALTER INDEX DROP PARTITION 語句來刪除它。如果一個全域性分割槽索引包含資料,刪除此分割槽將會導致下一個最高鍵值的分割槽被標記為不可用。你不能刪除全域性分割槽中的最高分割槽。
全域性雜湊分割槽索引
全域性雜湊分割槽索引透過分散索引的競爭來提高效能。大多數的索引插入只會出現在索引的右側邊緣。
全域性分割槽索引的維護
預設的,下面在堆表分割槽表上的操作會導致全域性索引的狀態為不可用。
ADD (HASH)
COALESCE (HASH)
DROP
EXCHANGE
MERGE
MOVE
SPLIT
TRUNCATE
可以在對分割槽表操作的語句上增加 UPDATE INDEXES 來維護全域性分割槽索引。
這樣做的優點是:
在對分割槽表進行操作的時候,索引仍是可用和線上的,這個操作不會影響到應用程式。
在對分割槽表進行操作後,全域性分割槽索引不必進行重建。
全域性非分割槽索引
全域性非分割槽索引就像一個非分割槽索引一樣。
建立分割槽索引的注意事項
你可以在分割槽表上建立點陣圖索引。點陣圖索引只能是本地分割槽索引,不能建立全域性索引。
全域性索引可以是唯一的。如果本地索引想建立成唯一的,則分割槽表的分割槽鍵必須是索引欄位的一部分。
關於組合分割槽索引
子分割槽索引通常是本地分割槽索引。
表空間可以在索引分割槽或索引子分割槽兩個級別上進行指定。
分割槽索引的建立指南
對於線上交易系統,全域性分割槽索引和本地字首分割槽索引能比本地非字首索引提供更好的效能,因為他們能使分割槽剪裁最小化;當要對分割槽表進行維護時,本地索引更易於維護和管理,對於歷史資料,本地非字首索引非常有用。
對於決策支援系統,本地非字首分割槽索引能提供更好的效能,因為許多分割槽索引支援並行掃描。
對於歷史表來說,索引應該儘可能是本地分割槽索引,這將減少定期刪除分割槽的影響。
1、全域性分割槽索引
是一個獨立的分割槽。
2、本地分割槽索引
自動和分割槽表相關聯。
適用範圍:
通常來說,全域性分割槽索引適用於 OLTP 線上交易系統;而區域性分割槽索引適用於資料倉儲或決策系統。
選擇分割槽索引的型別:
按照下面的順序
1、如果分割槽表的分割槽欄位是索引鍵值的子集,則使用本地索引;如果不是這樣,則進入步驟2。
2、如果索引是唯一的並且不包含分割槽表的分割槽欄位,則使用全域性索引;如果不是這樣,則進入步驟3。
3、如果你想管理方便,則使用本地索引;如果不是這樣,則進入步驟4。
4、如果應用程式是線上交易系統(OLTP)且需要很快的響應時間,則使用全域性索引。如果應用程式是決策系統(DDS)且更關注資料的吞吐量,則使用本地索引。
本地分割槽索引
本地分割槽索引易於維護,每一個本地索引的分割槽都和一個表的分割槽相關聯。這個功能使得 Oracle 自動地維護索引分割槽到表分割槽的同步。如果一個分割槽中的資料失效了,則只會影響一個分割槽。
一種叫做非字首的本地索引在歷史資料庫中非常有用,在這種型別的索引中,分割槽不是在索引列的左邊字首。你不能為本地索引新增分割槽,只有當你給某個表新增分割槽時,你才可以新增本地索引。
本地索引可以是唯一的。然而,為了讓一個本地索引是唯一的,表的分割槽鍵必須是索引鍵列的一部分。
全域性分割槽索引
Oracle 包括全域性範圍分割槽索引和全域性雜湊分割槽索引。
全域性範圍分割槽索引
全域性範圍分割槽索引是分割槽程度和分割槽鍵獨立於分割槽表的一種靈活分割槽方法。要新增一個新的最高分割槽,可以使用 ALTER INDEX SPLITPARTITION 語句。如果一個全域性索引分割槽是空的,你可以透過 ALTER INDEX DROP PARTITION 語句來刪除它。如果一個全域性分割槽索引包含資料,刪除此分割槽將會導致下一個最高鍵值的分割槽被標記為不可用。你不能刪除全域性分割槽中的最高分割槽。
全域性雜湊分割槽索引
全域性雜湊分割槽索引透過分散索引的競爭來提高效能。大多數的索引插入只會出現在索引的右側邊緣。
全域性分割槽索引的維護
預設的,下面在堆表分割槽表上的操作會導致全域性索引的狀態為不可用。
ADD (HASH)
COALESCE (HASH)
DROP
EXCHANGE
MERGE
MOVE
SPLIT
TRUNCATE
可以在對分割槽表操作的語句上增加 UPDATE INDEXES 來維護全域性分割槽索引。
這樣做的優點是:
在對分割槽表進行操作的時候,索引仍是可用和線上的,這個操作不會影響到應用程式。
在對分割槽表進行操作後,全域性分割槽索引不必進行重建。
全域性非分割槽索引
全域性非分割槽索引就像一個非分割槽索引一樣。
建立分割槽索引的注意事項
你可以在分割槽表上建立點陣圖索引。點陣圖索引只能是本地分割槽索引,不能建立全域性索引。
全域性索引可以是唯一的。如果本地索引想建立成唯一的,則分割槽表的分割槽鍵必須是索引欄位的一部分。
關於組合分割槽索引
子分割槽索引通常是本地分割槽索引。
表空間可以在索引分割槽或索引子分割槽兩個級別上進行指定。
分割槽索引的建立指南
對於線上交易系統,全域性分割槽索引和本地字首分割槽索引能比本地非字首索引提供更好的效能,因為他們能使分割槽剪裁最小化;當要對分割槽表進行維護時,本地索引更易於維護和管理,對於歷史資料,本地非字首索引非常有用。
對於決策支援系統,本地非字首分割槽索引能提供更好的效能,因為許多分割槽索引支援並行掃描。
對於歷史表來說,索引應該儘可能是本地分割槽索引,這將減少定期刪除分割槽的影響。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-1992172/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【eygle】Oracle的分割槽表和Local索引建立與維護Oracle索引
- 關於 Oracle 分割槽索引的失效和重建Oracle索引
- oracle分割槽及分割槽索引partition_partition index_維護(一)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(二)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(三)Oracle索引Index
- oracle分割槽及分割槽索引partition_partition index_維護(四)Oracle索引Index
- oracle分割槽表的維護Oracle
- 分割槽索引維護(add partition)索引
- oracle 建立所有分割槽索引Oracle索引
- oracle分割槽及分割槽索引partition_partition index_維護(五)_快捷方法Oracle索引Index
- 關於 Oracle 分割槽索引的正確 DROP 和 TRUNCATE 方法Oracle索引
- 關於分割槽表和分割槽索引(About Partitioned Tables and Indexes)索引Index
- Oracle分割槽之五:建立分割槽索引總結Oracle索引
- 【轉】Oracle分割槽表維護Oracle
- 有關Oracle表分割槽進行(DML)維護後對索引的影響的分析Oracle索引
- 關於ORACLE MYSQL在非字首分割槽索引上分割槽剪裁的比較OracleMySql索引
- Oracle分割槽表基礎運維-06分割槽表索引Oracle運維索引
- 測試oracle子分割槽維護Oracle
- 分割槽表及分割槽索引建立示例索引
- Oracle11g維護分割槽概述Oracle
- Oracle索引分割槽Oracle索引
- Oracle分割槽表及分割槽索引Oracle索引
- 在範圍分割槽表上分割槽維護操作對索引狀態的影響索引
- 在範圍分割槽表上分割槽維護操作對索引狀態的影響(1)索引
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- 關於oracle的表空間,分割槽表,以及索引的總結Oracle索引
- oracle分割槽索引(二)Oracle索引
- oracle分割槽索引(一)Oracle索引
- oracle關於分割槽相關操作Oracle
- oracle索引詳解 分割槽索引Oracle索引
- 【學習筆記】分割槽表和分割槽索引——管理索引分割槽(四)筆記索引
- 全域性分割槽索引和區域性分割槽索引索引
- 分割槽表並行建立索引並行索引
- Oracle的分割槽索引技術Oracle索引
- 關於oracle的表空間,分割槽表,以及索引的總結(轉)Oracle索引
- 關於oracle的表空間,分割槽表,以及索引的總結 -- 轉Oracle索引
- Oracle 分割槽表的建立Oracle
- ORACLE分割槽表梳理系列(二)- 分割槽表日常維護及注意事項Oracle