日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle索引index_type,oracle index索引相关笔记

發(fā)布時(shí)間:2023/12/31 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle索引index_type,oracle index索引相关笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí)oracle的索引

1,索引的概念和分類(lèi)

1,create index可以建立索引在如下幾種情況

1,表,分區(qū)表,索引組織表,或集表的一個(gè)或多個(gè)列

2,表或集表的一或多個(gè)標(biāo)量類(lèi)型的對(duì)象屬性上

1,經(jīng)測(cè)在record類(lèi)型不能用表類(lèi)型

2,plsql表類(lèi)型同上

3,nested 表的nested表列上

1,問(wèn)題,其語(yǔ)法及注意點(diǎn)

4,官方文檔

2,索引的類(lèi)型

1,普通索引,默認(rèn)即oracle創(chuàng)建的B樹(shù)索引

2,位圖索引,以位圖方式存儲(chǔ)與鍵值關(guān)連的rowid

3,分區(qū)索引,分區(qū)表中的分區(qū)表的索引列的每個(gè)值存儲(chǔ)一條記錄或叫條目

4,基于函數(shù)的索引,基于函數(shù)表達(dá)式.

5,域索引,與某個(gè)特定應(yīng)用有關(guān)的索引類(lèi)型的一個(gè)實(shí)例

6,?Oracle Database Concepts for a discussion of indexes 可以查看關(guān)于索引的討論

問(wèn)題

3,構(gòu)建索引的前提條件

1,索引在自己的用戶下

2,對(duì)索引的表具有構(gòu)建索引的對(duì)象權(quán)限

3,必須有create any index系統(tǒng)權(quán)限

4,為了創(chuàng)建域索引,還要具備在indextype上實(shí)行execute對(duì)象權(quán)限

且先要?jiǎng)?chuàng)建indextype

5,為了創(chuàng)建基于函數(shù)的索引,這些函數(shù)必須聲明為deterministic

如果這些函數(shù)屬于另一個(gè)用戶,必須對(duì)其有execute的對(duì)象權(quán)限

1,測(cè)試創(chuàng)建基于函數(shù)的索引

4,唯一索引unique

1,限制情況:

1,不能對(duì)位圖索引創(chuàng)建unique index

2,不能對(duì)域索引創(chuàng)建unique index

5,bitmap位圖索引

1,不是存儲(chǔ)每行的索引,而存儲(chǔ)每個(gè)不同鍵建立位圖索引

2,構(gòu)建每個(gè)不同鍵值與rowid的關(guān)系

3,位圖中每個(gè)比特對(duì)應(yīng)一個(gè)可能的rowid,如果配置了比特, 即對(duì)應(yīng)rowid的記錄包含一個(gè)鍵值

4,這種表示適用于低強(qiáng)度的并發(fā)的應(yīng)用,比如數(shù)據(jù)倉(cāng)庫(kù)

5,在此索引上,會(huì)存儲(chǔ)索引列全為null在索引中,經(jīng)測(cè)試null僅存儲(chǔ)一次

6,限制情況

1,不能在全局分區(qū)索引上創(chuàng)建位圖索引

2,不能在一個(gè)索引組織表上創(chuàng)建位圖索引,除非索引組織表建立一個(gè)與它映射的表

3,位圖索引不能同時(shí)指定unique和bitmap

4, 域索引也不能指定bitmap

5,位圖索引最多有30列

6,問(wèn)題:?Oracle Database Concepts and

Oracle Database Performance Tuning Guide for more information about using bitmap indexes

6,臨時(shí)表上可以建立索引,但作用時(shí)間范圍同于臨時(shí)表,基于會(huì)話和基于事務(wù);

不能在臨時(shí)表上創(chuàng)建域索引

不能指定物理屬性和并行度及日志和表空間

問(wèn)題:要測(cè)試下臨時(shí)表上創(chuàng)建索引的情況

CREATE TABLE and Oracle Database Concepts for more information on temporary tables

7,索引列的限制情況

1,不能對(duì)用戶自定義類(lèi)型,long,long raw,lob,ref建立索引

除非oracle支持在ref類(lèi)型的列上建索引或者用scope子句定義的屬性

2,只有B樹(shù)即普通索引可以在加密列上建索引,且只能用于等值查詢

8,基于函數(shù)的索引的一些注意點(diǎn)

1,如果索引列為空,不會(huì)用基于函數(shù)的索引

create table t_unique(a int);--對(duì)其插入多條null記錄

create index t_unique_idx on t_unique(a,o);

--強(qiáng)制全表掃描成本是3

select /*+full(t_unique) */ * from t_unique where a is?? null

select * from t_unique where a is null

小結(jié):有時(shí)強(qiáng)制直全表性能更差,全表的一致讀為8,而索引范圍掃描的一致性讀為2

2,where條件列順序與基于函數(shù)的列順序不同,也會(huì)使用基于函數(shù)的索引

3,如果基于函數(shù)的索引,其函數(shù)無(wú)效可刪除了。其索引會(huì)標(biāo)記為disabled;

如果基于disabled的查詢就會(huì)失敗(前提是cbo選擇使用索引)

如果基于disabled的dml也會(huì)失敗,除非你把索引標(biāo)記為unuable,把參數(shù)skip_unusable_indexes=true

2,索引測(cè)試,主要是不同索引的適用情況

3,索引與dml的關(guān)系

3,學(xué)習(xí)存儲(chǔ)過(guò)程中多個(gè)begin end代碼塊與異常精確定位

4,測(cè)試如果在沒(méi)有備份表的情況下,truncate table,可否用logminer恢復(fù)數(shù)據(jù)

C:\Users\123>

sqlldr userid=scott/system control=c:\insert_batch.ctl log=c:\sqlloader_imp.log

來(lái)自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/9240380/viewspace-755436/,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。

總結(jié)

以上是生活随笔為你收集整理的oracle索引index_type,oracle index索引相关笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。