Oracle 分割槽表中索引失效

2022-03-28 19:15:58 字數 1235 閱讀 6877

當對分割槽表進行 一些操作時,會造成索引失效。

當有truncate/drop/exchange 操作分割槽  時全域性索引 會失效。

exchange 的臨時表沒有索引,或者

有索引,沒有用including indexes的關鍵字,會導致區域性的索引失效,就是某個分割槽失效

重建區域性索引只能用alter index local_idx rebuild partition p1這樣的方式

分割槽表split的時候,如果max區中已經有記錄了,這個時候split就會導致有記錄的新增分割槽的區域性索引失效!

查尋某個分割槽表中 各個分割槽 索引狀態  usable/unusable

select

index_name, partition_name, status

from

user_ind_partitions

where index_name =

'indexname';

--重建索引

--

local索引重建

select

b.table_name,

a.index_name,

a.partition_name,

a.status,

'alter index

'|| a.index_name ||

'rebuild partition

'||partition_name ||';

'重建列

from

user_ind_partitions a, user_part_indexes b

where a.index_name =

b.index_name

and b.table_name in ('

part_tab_split')

and status =

'unusable

'order

byb.table_name, a.index_name, a.partition_name;

--全域性索引重建

alter

index idx_part_split_col3 rebuild;

在針對truncate等 操作時直接更新 index 也可以搞定。 

alter table part_tab_trunc truncate partition p2 update global  indexes;

Oracle分割槽表

1 範圍分割槽 range create table range part tab id number,deal date date,area code number,contents varchar2 4000 partition by range deal date partition p201...

Oracle 分割槽表

我們知道在資料庫中,當一張表的資料量增多時,資料的查詢就會變慢,從而影響應用程式的效能。這時我們應該考慮將表分割槽,表分割槽後在邏輯上仍然屬於一張表,只是在物理上儲存在多個檔案中。範圍分割槽將資料基於範圍對映到每乙個分割槽,這個範圍是你在建立分割槽時指定的分割槽鍵決定的。這種分割槽方式是最為常用的,...

oracle分割槽表中本地索引和全域性索引的適用場景

背景 分割槽表建立好了之後,如果需要最大化分割槽表的效能就需要結合索引的使用,分割槽表有兩種索引 本地索引和全域性索引。既然存在著兩種的索引型別,相信存在即合理。既然存在就會有存在的原因,也就是在特定的場景中就更能發揮出索引的效能的 本文件通過測試,總結出兩種索引的適合的場景 測試環境 資料庫版本 ...