婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle數據庫中建立索引的基本方法講解

Oracle數據庫中建立索引的基本方法講解

熱門標簽:山東crm外呼系統軟件 愛客外呼系統怎么樣 哪個400外呼系統好 哈爾濱電話機器人銷售招聘 地圖標注養老院 慧營銷crm外呼系統丹丹 開發外呼系統 圖吧網站地圖標注 百度地圖標注途經點

怎樣建立最佳索引?

1、明確地創建索引

create index index_name on table_name(field_name)

tablespace tablespace_name

pctfree 5

initrans 2

maxtrans 255

storage

(

minextents 1

maxextents 16382

pctincrease 0

);

2、創建基于函數的索引

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

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

3、創建位圖索引

對基數較小,且基數相對穩定的列建立索引時,首先應該考慮位圖索引,例:

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

4、明確地創建唯一索引

可以用create unique index語句來創建唯一索引,例:

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

5、創建與約束相關的索引

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

alter table table_name

add constraint PK_primary_keyname primary key(field_name)

using index tablespace tablespace_name;

如何創建局部區索引?

1)基礎表必須是分區表

2)分區數量與基礎表相同

3)每個索引分區的子分區數量與相應的基礎表分區相同

4)基礎表的自分區中的行的索引項,被存儲在該索引的相應的自分區中,例如

create index TG_CDR04_SERV_ID_IDX on TG_CDR04(SERV_ID)

Pctfree 5

Tablespace TBS_AK01_IDX

Storage(

MaxExtents 32768

PctIncrease 0

FreeLists 1

FreeList Groups 1

)

local

/

如何創建范圍分區的全局索引?

基礎表可以是全局表和分區表

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'))

/

如何重建現存的索引?

重建現存的索引的當前時刻不會影響查詢

重建索引可以刪除額外的數據塊

提高索引查詢效率

alter index idx_name rebuild nologging;

對于分區索引

alter index idx_name rebuild partition partition_name nologging;

刪除索引的原因?

1)不再需要的索引

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

3)應用沒有用該索引來查詢數據

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

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

語句:

drop index idx_name;

drop index idx_name partition partition_name;

建立索引的代價?

基礎表維護時,系統要同時維護索引,不合理的索引將嚴重影響系統資源,

主要表現在CPU和I/O上。

插入、更新、刪除數據產生大量db file sequential read鎖等待。

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

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

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

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

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

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

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

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

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

建議二:創建索引的一些限制條件。

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

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

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

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

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

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

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

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

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

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

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

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

您可能感興趣的文章:
  • Oracle輕松取得建表和索引的DDL語句
  • Oracle中如何把表和索引放在不同的表空間里
  • oracle索引介紹(圖文詳解)
  • Oracle關于重建索引爭論的總結
  • Oracle使用強制索引的方法與注意事項
  • Oracle索引(B*tree與Bitmap)的學習總結
  • Oracle 如何創建和使用全文索引
  • oracle 索引不能使用深入解析
  • Oracle Index索引無效的原因與解決方法
  • oracle索引的測試實例代碼

標簽:武漢 承德 固原 和田 青島 開封 周口 甘肅

巨人網絡通訊聲明:本文標題《Oracle數據庫中建立索引的基本方法講解》,本文關鍵詞  Oracle,數據庫,中,建立,索引,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle數據庫中建立索引的基本方法講解》相關的同類信息!
  • 本頁收集關于Oracle數據庫中建立索引的基本方法講解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区四区不卡在线| 91在线精品一区二区| 91麻豆精品国产91久久久久久| 狂野欧美性猛交blacked| 久久精品一区二区| 欧美体内she精高潮| 岛国av在线一区| 伦理电影国产精品| 亚洲图片欧美综合| 亚洲视频综合在线| 日本一区二区三区视频视频| 日韩免费在线观看| 欧美亚洲日本国产| 色综合天天综合色综合av| 国产自产2019最新不卡| 亚洲bt欧美bt精品777| 国产精品不卡在线| 欧美激情一区二区| 久久久不卡影院| 国产亚洲欧美一区在线观看| 欧美三级日韩三级国产三级| 91欧美激情一区二区三区成人| 成人性生交大合| 国产aⅴ综合色| a在线播放不卡| av动漫一区二区| 色婷婷综合视频在线观看| 99热在这里有精品免费| 91亚洲男人天堂| 色综合久久综合网97色综合| 色狠狠av一区二区三区| 在线视频你懂得一区二区三区| 色噜噜狠狠成人网p站| 99视频一区二区| 91老师片黄在线观看| 一本到不卡免费一区二区| 91高清视频在线| 欧美精品777| www日韩大片| 日本一区二区三区久久久久久久久不| 久久久不卡网国产精品一区| 国产人成亚洲第一网站在线播放 | 中文字幕日本不卡| 成人欧美一区二区三区在线播放| 亚洲精品日韩一| 免费成人你懂的| 成人的网站免费观看| 欧美性色aⅴ视频一区日韩精品| 欧美吻胸吃奶大尺度电影| 在线精品视频小说1| 欧美一级久久久久久久大片| 国产一区二区三区最好精华液| 青青草国产精品97视觉盛宴| 美腿丝袜在线亚洲一区| 国内欧美视频一区二区| 一本一道波多野结衣一区二区| 99精品视频一区二区| 99视频一区二区| 欧美一区三区四区| 久久这里只有精品首页| 亚洲欧美日韩系列| 麻豆精品一二三| 一本一本大道香蕉久在线精品 | 美国一区二区三区在线播放| www.久久久久久久久| 色偷偷久久人人79超碰人人澡| 欧美日韩精品一区二区天天拍小说| 日韩精品在线网站| 18涩涩午夜精品.www| 蜜桃视频一区二区三区| 成人午夜在线视频| 88在线观看91蜜桃国自产| 国产精品福利一区二区| 看片的网站亚洲| 7777精品伊人久久久大香线蕉的 | 欧洲国内综合视频| 国产日韩欧美在线一区| 天堂资源在线中文精品| 成a人片亚洲日本久久| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩一区三区| 久久综合成人精品亚洲另类欧美| 欧美日韩在线三级| 国产午夜精品一区二区| 日本在线播放一区二区三区| 国产成人午夜电影网| 欧美在线播放高清精品| 久久久亚洲精品一区二区三区 | 91丨九色porny丨蝌蚪| 精品捆绑美女sm三区| 亚洲高清免费视频| 粗大黑人巨茎大战欧美成人| 欧美影片第一页| 国产精品国产a级| 丁香激情综合国产| 久久久亚洲欧洲日产国码αv| 亚洲成人av免费| 欧美群妇大交群的观看方式| 成人免费在线视频观看| 国产91精品久久久久久久网曝门 | 午夜久久久久久| 在线欧美小视频| 亚洲自拍偷拍网站| 国产成都精品91一区二区三| 欧美经典一区二区三区| 久久蜜桃香蕉精品一区二区三区| 亚洲女人小视频在线观看| 成人av动漫在线| 国产三级欧美三级| 成人一区二区三区视频在线观看| 亚洲国产成人私人影院tom| 99热这里都是精品| 亚洲成人第一页| 337p亚洲精品色噜噜噜| 美国一区二区三区在线播放| 久久久久久99精品| 成人午夜看片网址| 樱花草国产18久久久久| 777奇米成人网| 国产美女精品在线| 中文字幕国产精品一区二区| 91一区一区三区| 青娱乐精品在线视频| 国产欧美综合在线| 欧美伊人精品成人久久综合97| 奇米影视在线99精品| 中文字幕一区二区三区在线观看| 欧美午夜精品久久久| 国产专区欧美精品| 亚洲一区自拍偷拍| 久久久久久久久久久久电影| 色偷偷88欧美精品久久久| 精品一二三四区| 亚洲永久精品国产| 久久天天做天天爱综合色| 色狠狠av一区二区三区| 国产一区二区三区不卡在线观看| 中文字幕一区二区三区蜜月| 欧美另类一区二区三区| 国产福利不卡视频| 亚洲最新在线观看| 日本一区二区三级电影在线观看 | 精品视频在线免费观看| 国产酒店精品激情| 石原莉奈一区二区三区在线观看 | 97久久超碰精品国产| 韩国精品主播一区二区在线观看| 亚洲男人的天堂网| 欧美国产丝袜视频| 久久综合狠狠综合| 日韩一区二区三区电影| 色中色一区二区| 大尺度一区二区| 国产精品亚洲一区二区三区妖精 | 26uuu国产一区二区三区| 欧美日韩国产免费| 91丨九色丨黑人外教| 成人免费观看av| 国产麻豆精品一区二区| 天天爽夜夜爽夜夜爽精品视频| 亚洲男人天堂一区| 国产精品久久久久久久久免费樱桃 | 国产日韩精品一区二区三区在线| 91.com视频| 成人黄色软件下载| 国产福利一区二区三区在线视频| 亚洲视频一二三| 国产精品毛片大码女人| 制服丝袜一区二区三区| 欧美日韩中文精品| 日韩av电影免费观看高清完整版在线观看| 国产精品久久久久婷婷| 国产精品女同互慰在线看| 91麻豆精品国产自产在线| 欧美日韩三级一区二区| 欧美日韩在线电影| 91美女片黄在线| 欧美在线观看一区| 成人网在线播放| 成人av网址在线| 91影院在线观看| 国产精品一级黄| 成人一道本在线| 美女视频黄 久久| 国内精品免费在线观看| 亚洲日本成人在线观看| 亚洲视频一区在线观看| 中文字幕一区二区视频| 久久蜜桃一区二区| 亚洲欧美在线另类| 久久久精品免费网站| 日韩精品一区二区三区视频在线观看| 欧美日韩在线综合| 日本道精品一区二区三区| 大美女一区二区三区| 一区二区在线观看av| 亚洲欧美一区二区三区久本道91| 国产亚洲一区二区在线观看| 91麻豆精品国产自产在线观看一区| 色婷婷精品久久二区二区蜜臂av|