oracle分區索引及循環插入

表可以按range、hash、list分區,表分區后,其上的索引和普通表上的索引有所不同,oracle對于分區表上的索引分為2類,即局部索引和全局索引,下面分別對這2種索引的特點和局限性做個總結。

局部索引local index
1.局部索引一定是分區索引,分區鍵等同于表的分區鍵,分區數等同于表的分區數,一句話,局部索引的分區機制和表的分區機制一樣。
2.如果局部索引的索引列以分區鍵開頭,則稱為前綴局部索引。
3.如果局部索引的列不是以分區鍵開頭,或者不包含分區鍵列,則稱為非前綴索引。
4.局部索引只能依附于分區表上。
5.前綴和非前綴索引都可以支持索引分區消除,前提是查詢的條件中包含索引分區鍵。
6.局部索引只支持分區內的唯一性,無法支持表上的唯一性,因此如果要用局部索引去給表做唯一性約束,則約束中必須要包括分區鍵列。
7.局部分區索引是對單個分區的,每個分區索引只指向一個表分區;全局索引則不然,一個分區索引能指向n個表分區,同時,一個表分區,也可能指向n個索引分區,對分區表中的某個分區做truncate或者move,shrink等,可能會影響到n個全局索引分區,正因為這點,局部分區索引具有更高的可用性。
8.位圖索引只能為局部分區索引。
9.局部索引多應用于數據倉庫環境中。

全局索引global index
1.全局索引的分區鍵和分區數和表的分區鍵和分區數可能都不相同,表和全局索引的分區機制不一樣。
2.全局索引可以分區,也可以是不分區索引,全局索引必須是前綴索引,即全局索引的索引列必須是以索引分區鍵作為其前幾列。
3.全局索引可以依附于分區表;也可以依附于非分區表。
4.全局分區索引的索引條目可能指向若干個分區,因此,對于全局分區索引,即使只截斷一個分區中的數據,都需要rebulid若干個分區甚至是整個索引。
5.全局索引多應用于oltp系統中。
6.全局分區索引只按范圍或者散列分區,hash分區是10g以后才支持。
7.oracle9i以后對分區表做move或者truncate的時可以用update global indexes語句來同步更新全局分區索引,用消耗一定資源來換取高度的可用性。
8.表用a列作分區,索引用b做局部分區索引,若where條件中用b來查詢,那么oracle會掃描所有的表和索引的分區,成本會比分區更高,此時可以考慮用b做全局分區索引。

分區索引字典
DBA_PART_INDEXES
分區索引的概要統計信息,可以得知每個表上有哪些分區索引,分區索引的類型(local/global)
Dba_ind_partitions? 每個分區索引的分區級統計信息
Dba_indexes/dba_part_indexes 可以得到每個表上有哪些非分區索引

索引重建
Alter index idx_name rebuild partition index_partition_name [online nologging]
需要對每個分區索引做rebuild,重建的時候可以選擇online(不會鎖定表),或者nologging建立索引的時候不生成日志,加快速度。
Alter index rebuild idx_name [online nologging]
對非分區索引,只能整個index重建
分區索引實例

復制代碼 代碼如下:

--1、建分區表?
CREATE TABLE P_TAB(?
C1 INT,?
C2 VARCHAR2(16),?
C3 VARCHAR2(64),?
C4 INT ,?
CONSTRAINT PK_PT PRIMARY KEY (C1)?
)?
PARTITION BY RANGE(C1)(?
PARTITION P1 VALUES LESS THAN (10000000),?
PARTITION P2 VALUES LESS THAN (20000000),?
PARTITION P3 VALUES LESS THAN (30000000),?
PARTITION P4 VALUES LESS THAN (MAXVALUE)?
);?
--2、建全局分區索引?
CREATE INDEX IDX_PT_C4 ON P_TAB(C4) GLOBAL PARTITION BY RANGE(C4)?
(?
PARTITION IP1 VALUES LESS THAN(10000),?
PARTITION IP2 VALUES LESS THAN(20000),?
PARTITION IP3 VALUES LESS THAN(MAXVALUE)?
);?
--3、建本地分區索引?
CREATE INDEX IDX_PT_C2 ON P_TAB(C2) LOCAL (PARTITION P1,PARTITION P2,PARTITION P3,PARTITION P4);?
--4、建全局分區索引(與分區表分區規則相同的列上)?
CREATE INDEX IDX_PT_C1?
ON P_TAB(C1)?
GLOBAL PARTITION BY RANGE (C1)?
(?
PARTITION IP01 VALUES LESS THAN (10000000),?
PARTITION IP02 VALUES LESS THAN (20000000),?
PARTITION IP03 VALUES LESS THAN (30000000),?
PARTITION IP04 VALUES LESS THAN (MAXVALUE)?
);?
--5、分區索引數據字典查看?
SELECT * FROM USER_IND_PARTITIONS;?
SELECT * FROM USER_PART_INDEXES;?

?

?

  1. create?table?computers??
  2. (??
  3. ?comNo?number(4)??constraint?PK_comp?primary?key,??
  4. ?compModel?varchar2(64)?constraint?unique_comp?unique,??
  5. ?buyTime?date,??
  6. ?price?number(12,2)?constraint?ch_price?check(??
  7. ?price>0?and?price<=300000),??
  8. ?owner?varchar2(32));??
  9. ??
  10. DECLARE??
  11. ??i?number?:=?0;??
  12. BEGIN??
  13. ??for?i?in?1?..?3000?loop??
  14. ????insert?into?computers??
  15. ??????(comNo,?compModel,?buyTime,?price,?owner)??
  16. ????values??
  17. ??????(i,?'8'?+?i,?to_date(''?+?sysdate,?'YYYY-MM'),?i,?'zhangsan');??
  18. ????--dbms_output.put_line(i);??
  19. ??end?loop;??
  20. ??commit;??
  21. END;??

?


P_TAB?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387710.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

classloader.getresources() 介紹

轉載自&#xff1a; https://www.cnblogs.com/bhlsheji/p/4095699.html ◆普通情況下,我們都使用相對路徑來獲取資源,這種靈活性比較大. 比方當前類為com/bbebfe/Test.class 而圖像資源比方sample.gif應該放置在com/bbebfe/sample.gif 而假設這些圖像資源放置在icons文件夾下,則…

Anti-Aliasing SSAA MSAA MLAA SRAA 簡介

http://blog.csdn.net/codeboycjy/article/details/6312758 前兩天在瀏覽游民星空的時候&#xff0c;小編居然在文章中掛了一篇技術文章&#xff0c;是關于SRAA的。對于AA的了解很少&#xff0c;正好入職之前還有幾天的空閑時間&#xff0c;所以就這個機會把AA的一些基本算法簡…

MyBatis多數據源配置(讀寫分離)

MyBatis多數據源配置(讀寫分離) 首先說明&#xff0c;本文的配置使用的最直接的方式&#xff0c;實際用起來可能會很麻煩。 實際應用中可能存在多種結合的情況&#xff0c;你可以理解本文的含義&#xff0c;不要死板的使用。 多數據源的可能情況 1.主從 通常是MySQL一主多…

UI簡單工作

UI用戶界面 需求——效果圖——風格設計——高保證效果——html 網頁的寬度屏幕的寬度-縱向滾動條的寬度 企業網站一般是1280 根據百度流量研究所 目前我們的網頁注主要是1024和1200 這樣的寬度符合大體市場 首屏高度。 首屏的概念來源于出版領域 報紙折疊后販賣&…

MySQL分庫分表總結

MySQL分庫分表總結&#xff1a; 單庫單表 &#xff1a; 單庫單表是最常見的數據庫設計&#xff0c;例如&#xff0c;有一張用戶(user)表放在數據庫db中&#xff0c;所有的用戶都可以在db庫中的user表中查到。 單庫多表 &#xff1a; 隨著用戶數量的增加&#xff0c;user表的數…

3章 RxJava操作符

本篇文章已授權微信公眾號 YYGeeker 獨家發布轉載請標明出處 CSDN學院課程地址 RxJava2從入門到精通-初級篇:edu.csdn.net/course/deta…RxJava2從入門到精通-中級篇:edu.csdn.net/course/deta…RxJava2從入門到精通-進階篇:edu.csdn.net/course/deta…RxJava2從入門到精通-源碼…

virtualbox 使用

實現文件拖拽功能 1、設備 -- 安裝增強功能 -- /bin/sh VboxLinuxaddition.run -- reboot 2、設備 -- 拖放 -- 雙向 3、虛擬機 -- 設置 -- 存儲 -- 控制器&#xff1a;SATA -- 勾選 使用主機輸入輸出&#xff08;I\O 緩存&#xff09; 4、虛擬機硬盤 -- 勾選固態驅動器 轉載于…

linux安裝mysql 5.6.33

.到MySQL官網下載mysql編譯好的二進制安裝包&#xff0c;在下載頁面Select Platform:選項選擇linux-generic&#xff0c;然后把頁面拉到底部&#xff0c;64位系統下載Linux - Generic (glibc 2.5) (x86, 64-bit)&#xff0c;下載后文件名&#xff1a;mysql-5.6.33-linux-glibc2…

Go 函數特性和網絡爬蟲示例

爬取頁面 這篇通過網絡爬蟲的示例&#xff0c;來了解 Go 語言的遞歸、多返回值、延遲函數調用、匿名函數等方面的函數特性。首先是爬蟲的基礎示例&#xff0c;下面兩個例子展示通過 net/http 包來爬取頁面的內容。 獲取一個 URL 下面的程序展示從互聯網獲取信息&#xff0c;獲…

Qt的安裝和使用中的常見問題(詳細版)

對于太長不看的朋友&#xff0c;可參考Qt的安裝和使用中的常見問題&#xff08;簡略版&#xff09;。 目錄 1、引入2、Qt簡介3、Qt版本 3.1 查看安裝的Qt版本3.2 查看當前項目使用的Qt版本3.3 查看當前項目使用的QtCreator版本3.4 Linux命令行下查看和使用不同版本的Qt4、Qt模塊…

python與C#的互相調用

python與C#的互相調用一、C#調用python新建一個項目&#xff0c;添加引用&#xff1a;IronPython.dll&#xff0c;Microsoft.Scripting.dll&#xff08;在IronPython的安裝目錄中&#xff09;。創建一個文本文件命名為hello.py,把該文件添加的當前的項目中,并設置為總是輸出。#…

各行業大數據可視化界面參考

轉載于:https://www.cnblogs.com/wangsongbai/p/10178096.html

mysql遠程連接 Host * is not allowed to connect to this MySQL server

localhost改成% 進入mysql的BIN目錄 代碼如下 復制代碼 mysql -u root -p mysql>use mysql; mysql>update user set host ’%where user ’root’; mysql>flush privileges; 具體分析 1、在本機登入mysql后&#xff0c;更改“mysql”數據庫里的“user”表里的“h…

今日聽聞這幾款手機軟件比較火爆 果然名不虛傳!

如今的時代&#xff0c;智能手機已經成為我們生活中不可缺少的一部分&#xff0c;大家之所以這么愛玩手機&#xff0c;其實并不是手機本身有多么吸引人&#xff0c;而是安裝在手機上的各種各樣的APP&#xff0c;比如各種社交軟件、音頻軟件、購物軟件以及地圖軟件等等。下面我們…

setdefault()方法

setdefault()方法 描述 字典 setdefault() 方法和 get()方法類似,返回指定鍵的值&#xff0c;如果鍵不在字典中&#xff0c;將會添加鍵并將值設置為一個指定值&#xff0c;默認為None。 get() 和 setdefault() 區別&#xff1a; setdefault() 返回的鍵如果不在字典中&#xff0…

Hive2.1.1、Hadoop2.7.3 部署

本文以遠程模式安裝Hive2.1.1將hive的元數據放置在MySQL數據庫中。 1 安裝mysql數據庫 sudo apt-get install mysql-server11 重啟mysql服務使得配置文件生效 sudo service mysql restart11 創建hive專用賬戶 CREATE USER hive% IDENTIFIED BY 123456;11 給hive賬戶授予所有權限…

Django 的簡單ajax

需要通過ajax實現局部刷新 js代碼 $(#guo-sou-ajax).click(function(){ #獲取id為guo-sou-ajax點擊后的信號console.log($(this).attr("data-action")) $.ajax({ #調用ajaxurl: $(this).attr("data-action"), #url保存在標簽里面的data-actio…

postman提取返回值

Postman是做接口測試的&#xff0c;但是很多接口并不是直接就能測&#xff0c;有的需要一些預處理。比如說身份認證&#xff0c;需要傳遞一個token。如果做網頁測試&#xff0c;一般打開登陸界面的時候就會生成一個token&#xff0c;如果返回值是json格式&#xff0c;用Postman…

docker下用keepalived+Haproxy實現高可用負載均衡集群

啟動keepalived后宿主機無法ping通用keepalived&#xff0c;報錯&#xff1a; [rootlocalhost ~]# ping 172.18.0.15 PING 172.18.0.15 (172.18.0.15) 56(84) bytes of data. From 172.18.0.1 icmp_seq1 Destination Host Unreachable From 172.18.0.1 icmp_seq2 Destination H…

hadoop hive 2.1.1 將Hive啟動為服務

我們之前使用的Shell方式與Hive交互只是Hive交互方式中的一種&#xff0c;還有一種就是將Hive啟動為服務&#xff0c;然后運行在一個節點上&#xff0c;那么剩下的節點就可以使用客戶端來連接它&#xff0c;從而也可以使用Hive的數據分析服務。 前臺模式 可以使用下面的命令來將…