區域性索引localindex
1.區域性索引一定是分割槽索引,分割槽鍵等同於表的分割槽鍵,分割槽數等同於表的分割槽說,一句話,區域性索引的分割槽機制和表的分割槽機制一樣。
2.如果區域性索引的索引列以分割槽鍵開頭,則稱為字首區域性索引。
3.如果區域性索引的列不是以分割槽鍵開頭,或者不包含分割槽鍵列,則稱為非字首索引。
4.字首和非字首索引都可以支援索引分割槽消除,前提是查詢的條件中包含索引分割槽鍵。
5.區域性索引只支援分割槽內的唯一性,無法支援表上的唯一性,因此如果要用區域性索引去給表做唯一性約束,則約束中必須要包括分割槽鍵列。
6.區域性分割槽索引是對單個分割槽的,每個分割槽索引只指向一個表分割槽,全域性索引則不然,一個分割槽索引能指向n個表分割槽,同時,一個表分割槽,也可能指向n個索引分割槽,
對分割槽表中的某個分割槽做truncate或者move,shrink等,可能會影響到n個全域性索引分割槽,正因為這點,區域性分割槽索引具有更高的可用性。
7.點陣圖索引只能為區域性分割槽索引。
8.區域性索引多應用於資料倉庫環境中。
全域性索引globalindex
1.全域性索引的分割槽鍵和分割槽數和表的分割槽鍵和分割槽數可能都不相同,表和全域性索引的分割槽機制不一樣。
2.全域性索引可以分割槽,也可以是不分割槽索引,全域性索引必須是字首索引,即全域性索引的索引列必須是以索引分割槽鍵作為其前幾列。
3.全域性分割槽索引的索引條目可能指向若干個分割槽,因此,對於全域性分割槽索引,即使只動,截斷一個分割槽中的資料,都需要rebulid若干個分割槽甚
至是整個索引。
4.全域性索引多應用於oltp系統中。
5.全域性分割槽索引只按範圍或者雜湊hash分割槽,hash分割槽是10g以後才支援。
6.oracle9i以後對分割槽表做move或者truncate的時可以用updateglobalindexes語句來同步更新全域性分割槽索引,用消耗一定資源來換取高度的可用性。
7.表用a列作分割槽,索引用b做區域性分割槽索引,若where條件中用b來查詢,那麼oracle會掃描所有的表和索引的分割槽,成本會比分割槽更高,此時可以考慮用b做全域性分割槽索引
區域性索引localindex
1.區域性索引一定是分割槽索引,分割槽鍵等同於表的分割槽鍵,分割槽數等同於表的分割槽說,一句話,區域性索引的分割槽機制和表的分割槽機制一樣。
2.如果區域性索引的索引列以分割槽鍵開頭,則稱為字首區域性索引。
3.如果區域性索引的列不是以分割槽鍵開頭,或者不包含分割槽鍵列,則稱為非字首索引。
4.字首和非字首索引都可以支援索引分割槽消除,前提是查詢的條件中包含索引分割槽鍵。
5.區域性索引只支援分割槽內的唯一性,無法支援表上的唯一性,因此如果要用區域性索引去給表做唯一性約束,則約束中必須要包括分割槽鍵列。
6.區域性分割槽索引是對單個分割槽的,每個分割槽索引只指向一個表分割槽,全域性索引則不然,一個分割槽索引能指向n個表分割槽,同時,一個表分割槽,也可能指向n個索引分割槽,
對分割槽表中的某個分割槽做truncate或者move,shrink等,可能會影響到n個全域性索引分割槽,正因為這點,區域性分割槽索引具有更高的可用性。
7.點陣圖索引只能為區域性分割槽索引。
8.區域性索引多應用於資料倉庫環境中。
全域性索引globalindex
1.全域性索引的分割槽鍵和分割槽數和表的分割槽鍵和分割槽數可能都不相同,表和全域性索引的分割槽機制不一樣。
2.全域性索引可以分割槽,也可以是不分割槽索引,全域性索引必須是字首索引,即全域性索引的索引列必須是以索引分割槽鍵作為其前幾列。
3.全域性分割槽索引的索引條目可能指向若干個分割槽,因此,對於全域性分割槽索引,即使只動,截斷一個分割槽中的資料,都需要rebulid若干個分割槽甚
至是整個索引。
4.全域性索引多應用於oltp系統中。
5.全域性分割槽索引只按範圍或者雜湊hash分割槽,hash分割槽是10g以後才支援。
6.oracle9i以後對分割槽表做move或者truncate的時可以用updateglobalindexes語句來同步更新全域性分割槽索引,用消耗一定資源來換取高度的可用性。
7.表用a列作分割槽,索引用b做區域性分割槽索引,若where條件中用b來查詢,那麼oracle會掃描所有的表和索引的分割槽,成本會比分割槽更高,此時可以考慮用b做全域性分割槽索引