Free性欧美Hd另类_精品亚洲欧美视频在线观看_freesex欧美喷水_字幕av在线_久久久久久国产免费_伊人5566

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 使用 Oracle 索引時的注意事項

使用 Oracle 索引時的注意事項

2017-02-07 16:59:15 | 來源:中培企業IT培訓網

當數據表的記錄較多時,Oracle數據庫使用索引來提高查詢的速度。那么在使用Oracle索引時應注意哪些事項呢?中培偉業《ORACLE高級管理與性能調優最佳實踐》專家賈老師在這里進行了詳細介紹。

第一、Oracle的索引陷阱

一個表中有幾百萬條數據,對某個字段加了索引,但是查詢時性能并沒有什么提高,這主要可能是oracle的索引限制造成的。Oracle的索引有一些索引限制,在這些索引限制發生的情況下,即使已經加了索引,oracle還是會執行一次全表掃描,查詢的性能不會比不加索引有所提高,反而可能由于數據庫維護索引的系統開銷造成性能更差。  

(1)使用不等于操作符

通過把用 or 語法替代不等號進行查詢,就可以使用索引,以避免全表掃描:上面的語句改成下面這樣的,就可以使用索引了。

(2)使用 is null 或 is not null

使用 is null 或is nuo null也會限制索引的使用,因為數據庫并沒有定義null值。如果被索引的列中有很多null,就不會使用這個索引(除非索引是一個位圖索引,關于位圖索引,會在以后的blog文章里做詳細解釋)。在sql語句中使用null會造成很多麻煩。

解決這個問題的辦法就是:建表時把需要索引的列定義為非空(not null) 。

(3)使用函數

如果沒有使用基于函數的索引,那么where子句中對存在索引的列使用函數時,會使優化器忽略掉這些索引。

(4)比較不匹配的數據類型下面的例子中,dept_id是一個varchar2型的字段,在這個字段上有索引,但是下面的語句會執行全表掃描。

這是因為oracle會自動把where子句轉換成to_number(dept_id)=900198,就是3所說的情況,這樣就限制了索引的使用。

第二、各種索引使用場合及建議

(1)B*Tree索引。

常規索引,多用于oltp系統,快速定位行,應建立于高cardinality列(即列的唯一值除以行數為一個很大的值,存在很少的相同值)。

(2)反向索引。

B*Tree的衍生產物,應用于特殊場合,在ops環境加序列增加的列上建立,不適合做區域掃描。

(3)降序索引。

B*Tree的衍生產物,應用于有降序排列的搜索語句中,索引中儲存了降序排列的索引碼,提供了快速的降序搜索。

(4)位圖索引。

位圖方式管理的索引,適用于OLAP(在線分析)和DSS(決策處理)系統,應建立于低cardinality列,適合集中讀取,不適合插入和修改,提供比B*Tree索引更節省的空間。

在實際應用中,如果某個字段的值需要頻繁更新,那么就不適合在它上面創建位圖索引。在位圖索引中,如果你更新或插入其中一條數值為N的記錄,那么相應表中數值為N的記錄(可能成百上千條)全部被Oracle鎖定,這就意味著其它用戶不能同時更新這些數值為N的記錄,其它用戶必須要等第一個用戶提交后,才能獲得鎖,更新或插入數據,bitmap index它主要用于決策支持系統或靜態數據。

(5)函數索引。

B*Tree的衍生產物,應用于查詢語句條件列上包含函數的情況,索引中儲存了經過函數計算的索引碼值。可以在不修改應用程序的基礎上能提高查詢效率。

索引創建策略

a. 導入數據后再創建索引。

b. 不需要為很小的表創建索引。

c. 對于取值范圍很小的字段(比如性別字段)應當建立位圖索引。

d. 限制表中的索引的數目。

e. 為索引設置合適的PCTFREE值。

f. 存儲索引的表空間最好單獨設定。

Oracle最多允許包含32個字段的復合索引,需要讀入的數據塊越多則 cost 越大,Oracle 也就越有可能不選擇使用index。【唯一索引和不唯一索引都只是針對B*Tree樹索引而言】

第三、索引使用規則:

(1)能用唯一索引,一定用唯一索引。

(2)能加非空,就加非空約束。

(3)一定要統計表的信息,索引的信息,柱狀圖的信息。

(4)聯合索引的順序不同,影響索引的選擇,盡量將值少的放在前面

(5)只有做到以上四點,數據庫才會正確的選擇執行計劃。

標簽: Oracle
主站蜘蛛池模板: 中国人和黑人XXXX | 日韩一级特黄毛片 | 一区二区三区观看 | 乱人伦中文字幕在线 | 日本va在线 | 高清成人爽a毛片免费 | 四川少妇被弄到高潮 | 四虎在线免费播放 | 亚洲精品国产乱码久久久1区 | 亚洲国产区男人本色VR | 高清日本欧美久久 | 亚洲精品97久久中文字幕无码 | 中国黄色一级大片 | 免费女人18毛片a毛片视频 | 91导航在线观看 | 精品一线二线三线区别在哪欧美 | 国产成人A人亚洲精V品无码 | 亚洲成AV人片高潮喷水 | 国语自产精品视频在线区 | 亚洲乱在线 | 天天av天天翘天天综合网 | 新91影院 | 出租屋嫖妓大龄熟妇露脸在线播放 | 国产主播久久 | eeuss影院一区二区三区 | 欧美视频一 | 久久久久国色av免费观看性色 | 国产成人精品男人的天堂 | 亚洲视频91 | 樱花草在线观看播放免费视频 | 欧洲肥臀内射网站 | 边吃奶边扎下面好爽免费视频 | 成人黄网站片免费视频 | 日韩av在线第一页 | 18成禁人视频免费网站 | 三级中文字幕永久在线 | 国产欧美在线一区二区 | 中文字幕一区二区三区在线视频 | 色视频2 | 国精产品一二二区视频 | 亚洲无吗av |