亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle數(shù)據(jù)庫中建立索引的基本方法講解

2024-08-29 13:58:51
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Oracle數(shù)據(jù)庫中建立索引的基本方法,包括對性能方面進行衡量而給出的一些索引的設(shè)計和使用建議,需要的朋友可以參考下
 

怎樣建立最佳索引?

1、明確地創(chuàng)建索引

create index index_name on table_name(field_name)tablespace tablespace_namepctfree 5initrans 2maxtrans 255storage(minextents 1maxextents 16382pctincrease 0);

2、創(chuàng)建基于函數(shù)的索引

常用與UPPER、LOWER、TO_CHAR(date)等函數(shù)分類上,例:

create index idx_func on emp(UPPER(ename)) tablespace tablespace_name;

3、創(chuàng)建位圖索引

對基數(shù)較小,且基數(shù)相對穩(wěn)定的列建立索引時,首先應(yīng)該考慮位圖索引,例:

create bitmap index idx_bitm on class (classno) tablespace tablespace_name;

4、明確地創(chuàng)建唯一索引

可以用create unique index語句來創(chuàng)建唯一索引,例:

create unique index dept_unique_idx on dept(dept_no) tablespace idx_1;

5、創(chuàng)建與約束相關(guān)的索引

可以用using index字句,為與unique和primary key約束相關(guān)的索引,例:

alter table table_nameadd constraint PK_primary_keyname primary key(field_name)using index tablespace tablespace_name;

如何創(chuàng)建局部區(qū)索引?

1)基礎(chǔ)表必須是分區(qū)表

2)分區(qū)數(shù)量與基礎(chǔ)表相同

3)每個索引分區(qū)的子分區(qū)數(shù)量與相應(yīng)的基礎(chǔ)表分區(qū)相同

4)基礎(chǔ)表的自分區(qū)中的行的索引項,被存儲在該索引的相應(yīng)的自分區(qū)中,例如

create index TG_CDR04_SERV_ID_IDX on TG_CDR04(SERV_ID)Pctfree 5Tablespace TBS_AK01_IDXStorage(MaxExtents 32768PctIncrease 0FreeLists 1FreeList Groups 1)local/

如何創(chuàng)建范圍分區(qū)的全局索引?

基礎(chǔ)表可以是全局表和分區(qū)表

create index idx_start_date on tg_cdr01(start_date)global partition by range(start_date)(partition p01_idx vlaues less than ('0106')partition p01_idx vlaues less than ('0111')...partition p01_idx vlaues less than ('0401'))/

如何重建現(xiàn)存的索引?

重建現(xiàn)存的索引的當(dāng)前時刻不會影響查詢

重建索引可以刪除額外的數(shù)據(jù)塊

提高索引查詢效率

alter index idx_name rebuild nologging;

對于分區(qū)索引

alter index idx_name rebuild partition partition_name nologging;

刪除索引的原因?

1)不再需要的索引

2)索引沒有針對其相關(guān)的表所發(fā)布的查詢提供所期望的性能改善

3)應(yīng)用沒有用該索引來查詢數(shù)據(jù)

4)該索引無效,必須在重建之前刪除該索引

5)該索引已經(jīng)變的太碎了,必須在重建之前刪除該索引

語句:

drop index idx_name;drop index idx_name partition partition_name;

建立索引的代價?

基礎(chǔ)表維護時,系統(tǒng)要同時維護索引,不合理的索引將嚴重影響系統(tǒng)資源,

主要表現(xiàn)在CPU和I/O上。

插入、更新、刪除數(shù)據(jù)產(chǎn)生大量db file sequential read鎖等待。

關(guān)于創(chuàng)建索引的建議
雖然說,在表中是否創(chuàng)建索引,不會影響到Oracle數(shù)據(jù)庫的使用,也不會影響數(shù)據(jù)庫語句的使用。這就好像即使字典沒有目錄的話,用戶仍然可以使用它一樣??墒牵糇值錄]有目錄,那么可想而知,用戶要查某個條目的話,其不得不翻遍整本字典。數(shù)據(jù)庫也是如此。若沒有建立相關(guān)索引的話,則數(shù)據(jù)庫在查詢記錄的時候,不得不去查詢整個表。當(dāng)表中的記錄比較多的時候,其查詢效率就會很低。所以,合適的索引,是提高數(shù)據(jù)庫運行效率的一個很好的工具。

不過,并不是說表上的索引越多越好。過之而不及。故在數(shù)據(jù)庫設(shè)計過程中,還是需要為表選擇一些合適的索引。寧缺勿濫,這是建立索引時的一個遵循標準。在理論上,雖然一個表可以設(shè)置無限的索引。但是,數(shù)據(jù)庫管理員需要知道,表中的索引越多,維護索引所需要的開銷也就越大。每當(dāng)數(shù)據(jù)表中記錄有增加、刪除、更新變化的時候,數(shù)據(jù)庫系統(tǒng)都需要對所有索引進行更新。故數(shù)據(jù)庫表中的索引絕對不是多多益善。具體來說,在索引建立上,筆者對大家有如下建議。

建議一:在基數(shù)小的字段上要善于使用位圖索引。

基數(shù)是位圖索引中的一個基本的定義,它是指數(shù)據(jù)庫表中某個字段內(nèi)容中不重復(fù)的數(shù)值。如在員工信息表中的性別字段,一般就只有男跟女兩個值,所以,其基數(shù)為2;婚姻狀況字段的話,則其只有已婚、未婚、離婚三種狀態(tài),其基數(shù)就為3;民族一覽內(nèi)也是只有有限的幾個值。

對于要查詢基數(shù)小的字段,如現(xiàn)在用戶想查找所有婚姻狀況為“已婚”的“女性”時,利用位圖索引可以提高查詢的效率。這主要是因為標準索引是通過在索引中保存排序過的索引列以及對應(yīng)的ROWID來實現(xiàn)的。若我們在基數(shù)小的列上建立標準索引的話,則其會返回大量的記錄。

而當(dāng)我們在創(chuàng)建位圖索引的時候,在Oracle會對整個表進行掃描,并且會為索引列的每個取值建立一個位圖。若內(nèi)容相同,則在位圖上會以一個相同的數(shù)字表示。此時,若這個字段的基數(shù)比較小的話,則若需要實現(xiàn)對整個字段的查詢的話,效率就會非常的高。因為此時,數(shù)據(jù)庫只要位圖中數(shù)字相同的內(nèi)容找出來即可。

除了在數(shù)據(jù)表某列基數(shù)比較小的情況下,采用位圖索引外,我們往往在一些特殊的情況下,也會建議采用位圖索引。最常見的情況是,在Where限制條件中,若我們多次采用AND或者OR條件時,也建議采用位圖索引。因為當(dāng)一個查詢飲用了一些部署了位圖索引的列的時候,這些位圖可以很方便的與AND或者Or 運算符操作結(jié)合以快速的找出用戶所需要的記錄。

但是,這里要注意,不是在條件語句中包含運算符的時候,采用位圖索引都能夠提供比較高的效率。一般來說,只有AND 或者OR運算符的時候,位圖索引才會比較具有優(yōu)勢。若此時用戶采用大于號或者不等于號作為條件語句中的限制條件的時候,則往往采用標準索引具有更大的優(yōu)勢。

所以,筆者在數(shù)據(jù)庫設(shè)置中,一般只有在三種情況下才采用位圖索引。一是列的基數(shù)比較小,而有可能需要根據(jù)這些字段的內(nèi)容查找相關(guān)的記錄;二是在條件語句中,用到了AND或者OR運算符的時候。除了這兩種情況外,最好能夠采用其他適合的索引。第三種情況是,需要用到NULL作為查詢的限制條件。因為標準查詢一般情況下,會忽略所有的NULL值列。也就是說,若需要查詢“所有沒有身份證號碼”的員工的信息的時候,標準索引并不能夠起到加速查詢速度的作用。此時,就需要采用位圖索引。因為位圖索引會記錄相關(guān)的NULL值列信息。

建議二:創(chuàng)建索引的一些限制條件。

并不說,表或者列建立的索引越多越好。相反,索引建的越多,有時會反而會影響數(shù)據(jù)庫運行的整體性能。所以,在建立索引的時候,仍然會有一些限制條件。

一是不要對一些記錄內(nèi)容比較少的表建立索引。在一個應(yīng)用系統(tǒng)設(shè)計的時候,如設(shè)計一個ERP系統(tǒng)的數(shù)據(jù)庫,其雖然有幾千張表。但是,并不是每張表都有大量記錄的。相反,其中有近一半左右的數(shù)據(jù)表,可能其存儲的數(shù)據(jù)不會超過百條。如員工登陸帳戶密碼表、企業(yè)部門信息表等等。對于這些記錄內(nèi)容比較少的表,我們建立最好不要為其建立索引。無論是表上的,還是字段上,都不要建立索引。

二是若表中的內(nèi)容比較大,但是,這個表基本上不怎么查詢的時候,則只需要在表上建立索引即可;而不需要在字段上建立索引。如現(xiàn)在在ERP系統(tǒng)中,有一張表是“AD_Table”。其存儲的是這個數(shù)據(jù)庫中相關(guān)表的信息。這張表只有在數(shù)據(jù)庫設(shè)計的時候才會用到。故這張表中的記錄雖然比較多,但是由于用戶用的比較少,所以,一般沒有必要為這張表建立列級別上的索引。而直接用表索引來代替。

三是在一些NULL字段上,要根據(jù)實際情況來判斷是否要建立索引。如現(xiàn)在有一張人事檔案的表格,其上面有兩個字段,分別為“身份證號碼”與“地區(qū)”。有時會為了某個原因,企業(yè)需要所有員工都在系統(tǒng)中登記他們的身份證號碼,以方便他們辦工資卡、社會保險等等。所以人事管理可能需要經(jīng)常的查詢系統(tǒng),看看有沒有沒有身份證號碼的員工信息。此時,就需要利用條件“IS NULL”來查詢我們所需要的記錄。故為了提高查詢效率,若某個記錄可能為空,并且經(jīng)常需要以NULL為條件進行查詢的時候,則最好給這個字段添加一個索引,并且最好建立位圖索引。相反,若雖然可能會以NULL這個條件作為查詢的限制語句,但是,用的不是很多的時候,則就沒有必要為其建立索引。

建議三:多表連接查詢的索引設(shè)計。

如現(xiàn)在有一個人事管理系統(tǒng)。人事經(jīng)理想知道員工的社保繳納情況。他需要知道員工的姓名、職務(wù)、戶籍性質(zhì)(農(nóng)民戶口跟居民戶口費用不一樣)、繳納的情況等等。但是,這些信息包含在不同的表中。因為為了提高數(shù)據(jù)庫的性能,在表中存儲的可能只是某些序號,而不是具體的內(nèi)容。如在社保表中,存儲的是員工對應(yīng)的編號,而不是員工的名字。所以,要得到這份報表的話,就可能需要關(guān)聯(lián)員工基本信息表、公司組織結(jié)構(gòu)表等表格,才能夠查詢到用戶所需要的內(nèi)容。

為此,就需要利用Join語句,把這些表格關(guān)聯(lián)起來。為了提高數(shù)據(jù)庫的查詢效率,這些用來關(guān)聯(lián)的字段,最好能夠建立索引。這可以顯著的提高查詢的速度。

建議四:在表的更新速度與查詢速度之間尋求一個平衡點。

眾所周知,索引本身并不影響數(shù)據(jù)庫的使用,其主要是為了提高數(shù)據(jù)庫的查詢效率。但是,由于當(dāng)數(shù)據(jù)庫的表中的數(shù)據(jù)更新的時候,包括記錄的增加、刪除、更改等等,都會對雖有的索引進行更新。

很明顯,索引雖然可以提高查詢速度。但是,也會對一些表的更新操作產(chǎn)生不良的影響。當(dāng)在表中建立的索引越多,這個不利影響也會越大。故數(shù)據(jù)庫管理員在設(shè)置索引的時候,還需要注意,在這兩個之間需要一個均衡點。

按照一般的理論來說,當(dāng)某個表多數(shù)用來查詢、更新相對來說比較上的話,則要多多采用索引。相反,當(dāng)某個表記錄更新居主導(dǎo),查詢相對來說比較少的話,則不要建立太多的索引,避免對更新的速度差生不利影響。

在實際工作中,若某個表頻繁的被視圖所調(diào)用的話,則最好就好設(shè)置比較多的索引。在選擇數(shù)據(jù)庫索引時大家可以參考上文給出的四點建議,相信掌握了上文中的四點建議,大家一定能選擇一款合適的索引類型。



注:相關(guān)教程知識閱讀請移步到oracle教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
av亚洲男人天堂| 日韩天堂在线| 国产麻豆免费观看| 黑人巨大精品欧美一区| 国产日韩在线观看视频| 日韩久久在线| 污污网站在线看| 久久精品一二三| 国产专区中文字幕| 国产男男chinese网站| 九一国产在线观看| 国产亚洲精品美女久久久| 五月天亚洲综合小说网| 亚洲制服av| 7777精品伊人久久久大香线蕉完整版| 51vv免费精品视频一区二区| 波多野结衣国产精品| 丝袜国产免费观看| 黄色在线网站| 青青草观看免费视频在线| 亚洲成人一区在线观看| 亚洲视频日本| 中文字幕一区在线播放| 伊大人久久香线焦宗合一75大| 欧美日韩性视频一区二区三区| 国产精品欧美一区二区三区奶水| 国产精品一二三在| 好色视频app| 色婷婷综合网| 午夜成人在线视频| 欧美三级韩国三级日本三斤| 欧美另类视频在线| 99re热这里只有精品免费视频| 久久精品亚洲国产奇米99| 成人午夜av| 国产成人免费电影| 久久久久久久久久久久久久久久久久久久| 四虎影院成人在线观看| 在线欧美一区| 成人黄色免费网站在线观看| 天天综合网天天综合色| 一区二区三区精品视频在线观看| 国产精品视频3p| 欧美成人嫩草网站| 1769视频在线播放免费观看| 欧美日韩在线大尺度| 男女啪啪a级毛片| 国产不卡av在线免费观看| 91中文字幕| 成人免费视频入口| 99视频热这里只有精品免费| 在线观看免费黄视频| 全网国产福利在线播放| 小泽玛利亚视频在线观看| 国产男人精品视频| 久久久精品2019中文字幕神马| www.亚洲在线| 免费人成黄页在线观看忧物| 欧美黑人精品一区二区不卡| 国产精品一区2区3区| 在线视频你懂| 大色综合视频网站在线播放| 天天射成人网| 欧美激情第三页| 欧美日韩免费区域视频在线观看| 国产精品一区二区三区在线播放| 精品久久久久久亚洲综合网| 欧美男gay| 校园春色亚洲色图| 亚洲欧美综合另类中字| 日日摸日日碰夜夜爽无码| 天天射狠狠干| 国产亚洲精品aa午夜观看| 国产三级伦理在线| 特级xxxxx欧美| 亚洲国产精品成人无久久精品| 黄色正能量网站| 黄色网页免费看| 日韩三级电影网| 欧美日韩加勒比精品一区| 久久久伊人日本| 精品国产亚洲一区二区三区在线观看| 91精品国产欧美一区二区| 亚洲人成网站精品片在线观看| 久久综合久久99| 亚洲第一区第二区| 久久久久性色av无码一区二区| 成人免费不卡视频| 性欧美一区二区三区| 欧美成人激情免费网| 有色激情视频免费在线| 色综合久久久久综合体| 6080国产精品一区二区| aa视频在线播放| 风间由美性色一区二区三区四区| 欧美日韩精品在线一区| 99精品视频在线观看免费播放| www.国产精品视频| 韩国女主播一区二区三区| 在线黄色网页| 好吊色视频988gao在线观看| 盗摄系列偷拍视频精品tp| 青草av.久久免费一区| 欧美另类极品videosbest视| 成人高清av在线| 日本福利片在线观看| 欧美综合自拍| 黄色成人免费网| 免费激情视频在线观看| 一二三四区精品视频| 超碰在线免费公开| 伊人影院蕉久影院在线播放| 美媛馆国产精品一区二区| 男女羞羞在线观看| 玖玖玖国产精品| www.成人在线| 国产免费黄色大片| 国产欧美视频一区二区| 日韩一区二区三区免费播放| 亚洲精品福利| 天堂在线视频播放| 石原莉奈一区二区三区高清在线| 国产精品欧美激情在线播放| 国产资源在线视频| 久久亚洲精品人成综合网| 校园春色综合| 人人妻人人澡人人爽欧美一区| 小h片在线观看| 国产高清免费av在线| 黑人狂躁日本妞一区二区三区| 国产成人亚洲精品播放器下载| 视频国产一区二区三区| 91免费看片网站| 日韩黄色一级大片| 国产女人高潮毛片| 蜜乳av一区| 久久99精品久久久久久青青日本| 亚洲最新av网站| 亚洲欧美日韩在线高清直播| 日本特级黄色大片| 三级成人在线| 最新亚洲一区| 欧美日韩国产精品专区| 毛片网站在线观看| a4yy在线播放免费观看视频| 99v久久综合狠狠综合久久| 好吊视频一二三区| 亚洲日本在线播放| 亚洲高清乱码| 最近中文字幕在线| 中文日产幕无线码一区二区| 亚洲人妖在线| 亚洲 高清 成人 动漫| 91久久精品国产91性色tv| 少妇**av毛片在线看| 妺妺窝人体色www在线下载| 成人高清视频在线观看| 国产又粗又长又爽又黄的视频| 国产精品毛片一区二区在线看| 精品国产福利在线| 久久精品国产美女| 国产精品性做久久久久久| 涩涩av在线| 亚洲影院久久精品| 怡红院av亚洲一区二区三区h| 国产亚洲欧美一区在线观看| 岛国av在线播放| 神马久久高清| 翔田千里精品久久一区二| 又黄又爽的视频在线观看| 精品视频一区二区在线| 国产欧美精品一区二区三区四区| 四虎精品永久免费| 精品国产高清a毛片无毒不卡| 日本中文字幕一区二区有限公司| 深田咏美在线x99av| 成人午夜视频免费看| 国产日产欧产精品推荐色| www红色一片_亚洲成a人片在线观看_| 免费 成 人 黄 色| 污污软件在线观看| 精品人伦一区二区三电影| 国产99精品国产| 日本xxxx免费| 国产+成+人+亚洲欧洲在线| 青青草国产成人99久久| 亚洲精品亚洲人成在线观看| 佐山爱痴汉视频一区二区三区| 国产人妻精品一区二区三| 4hu四虎永久在线观看| 欧美一区二区三区视频在线观看| 日韩视频免费在线播放| xxx国产hd| 午夜精品无码一区二区三区| 小黄鸭精品aⅴ导航网站入口| 国产在线精品二区| 国产精品白丝在线| 九九九热999| 欧美日韩国产综合新一区| 很黄很色的网站| 国产成人精品亚洲精品色欲| 国产精品国产自产拍高清av王其| 精品国产亚洲一区二区三区| 精品国产乱码久久久久| 717成人午夜免费福利电影| 成视频在线观看免费观看| 日韩精品免费一区二区夜夜嗨| 亚洲午夜精品久久久久久性色| 欧美中文字幕久久| 国产成人黄色网址| 91蜜桃网址入口| 亚洲成人手机在线| 82av视频| 国产ts人妖调教重口男| 国产麻豆一精品一av一免费| 一本一本久久a久久精品牛牛影视| wwwwxxxx在线观看| 成人在线视频福利| 国产一区二区三区久久悠悠色av| 欧美日韩亚洲另类| 亚洲色图网站| 99热自拍偷拍| 国产精品亚洲自拍| 91青娱乐在线视频| 精品一区电影国产| 一级黄色大片免费| 米奇777在线欧美播放| 国产成人精品免费视| 95影院理论片在线观看| 最好看更新中文字幕| 91久久精品久久国产性色也91| 亚洲精品影院在线| 亚洲高清二区| 免费aⅴ网站| 极品美鲍一区| 国产麻豆视频一区| 最新中文字幕2018| 日本中文在线一区| 国产精品高清在线观看| 极品粉嫩饱满一线天在线| 久久久久久久久久久久久久久久久久久久| 99精品视频在线观看免费播放| 99精品国产在热久久| 久久99国产精品久久久久久久久| 国产成人综合一区二区三区| 日韩电影免费观看高清完整版在线观看| 日韩精品高清在线观看| 国产精品小仙女| 日本在线观看网址| 国产精品美女高潮无套| 国产999精品久久| 国产成人精品一区二区三区在线| 福利一区福利二区| 免费看黄色a级片| 色悠久久久久综合先锋影音下载| 欧美日本高清视频在线观看| 精品视频国内| 亚洲自拍偷拍精品| 精品麻豆av| 午夜私人影院久久久久| 国产一区二区三区网| 欧美三级成人观看| 日韩久久午夜影院| 日韩欧美在线观看| 亚洲成a人片77777精品| 久久久久久久久久久久国产精品| 成人免费大片黄在线播放| 欧美精品在线一区二区三区| 黄色www视频| 国产精品视频yy9299一区| 欧美成人午夜影院| 91视频在线看| 欧美日韩在线看| 色88888久久久久久影院按摩| 翔田千里精品久久一区二| 国产亚洲精品精品精品| 中国人xxxxx69免费视频| 国产美女情趣调教h一区二区| 快播日韩欧美| 欧美爱爱视频网站| 欧美日韩视频精品二区| 天天操天天舔| 超碰97在线资源站| 国产综合亚洲精品一区二| 91亚洲国产成人久久精品网站| 伊人国产在线看一| 激情五月***国产精品| 国产精品资源| 欧美一级专区免费大片| 欧美日一区二区在线观看| 亚洲欧美激情一区二区| 国产无遮挡aaa片爽爽| www.久久91| 国外成人免费视频| 成年人看的毛片| 性生交大片免费看l| 在线播放日韩欧美| 国产视频欧美视频| 99久久精品网站| 亚洲图区欧美| 亚洲精品一区二区三区不| 蜜桃传媒视频第一区入口在线看| 狠狠色丁香久久婷婷综合_中| 一区二区欧美视频| wwwwww.色| 肉丝一区二区| 国产精品69久久久久孕妇欧美| 精品麻豆国产| 欧美激情一区二区三区全黄| 久久亚洲精品国产精品紫薇| 国产精品夜夜夜爽阿娇| 中文字幕123| 制服黑丝国产在线| 亚洲精品自在久久| 久久久久女人精品毛片九一| 亚洲一区二区三区四区精品| 欧美韩日国产| 97人洗澡人人免费公开视频碰碰碰| 日韩视频二区| 欧州一区二区三区| 色综合av综合无码综合网站| 不用播放器成人网| 久久综合给合久久狠狠狠97色69| 免费裸体美女网站| 波多野结衣之无限发射| 色婷婷一区二区三区四区| 国产精彩视频在线观看| 中文在线字幕在线观看|