成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

帶您了解Oracle FBI索引

數據庫 Oracle
Oracle8i增加了一個新特性,即function-based index索引類型(簡稱為FBI)。下文對FBI索引作了詳盡的闡述說明,供您參考學習。

Oracle FBI索引是Oracle8i的新特性,下面就為您詳細介紹Oracle FBI索引的概念及使用,如果您對Oracle FBI索引方面感興趣的話,不妨一看。

Oracle8i的很重要的一個新特性就是增加了function-based index這種索引類型(后面簡稱為FBI)。有了這個特性后,Oracle DBA就可以在索引中使用函數或者表達式了。這些函數可以使Oracle自己的函數,也可以使用戶自己的PL/SQL函數等。

DBA在SQL語句調優的過程中遇到的一個很常見的問題就是,如何優化那些在WHERE子句中使用了函數的語句。因為在以前,在WHERE子句中使用函數會使在這個表上創建的索引沒法利用,從而難以提高這個語句的性能。
例子:

使用基于成本的優化器,索引為標準的B樹索引,建立在SURNAME列上。

  1. SQL>create index non_fbi on sale_contacts (surname);  
  2. SQL>analyze index non_fbi compute statistics;   
  3. SQL>:analyze table sale_contacts compute statistics;   
  4. SQL>SELECT count(*) FROM sale_contacts  
  5. WHERE UPPER(surname) = 'ELLISON';  
  6.  
  7. Execution Plan   
  8. ----------------------------------------------------------   
  9. 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=1 Bytes=17)   
  10. 1 0 SORT (AGGREGATE)   
  11. 2 1 TABLE ACCESS (FULL) OF 'SALES_CONTACTS' (Cost=3 Card=16 Bytes=272)   

從SQL*PLUS的autotrace產生的執行路徑可以看到,雖然我們在WHERE子句中用到的SURNAME列上創建了索引,但是仍然執行的是全表掃描。如果這張表很大的話,這回消耗大量的時間。
現在我們試著建立一個Oracle FBI索引:

  1. SQL>create index fbi on sale_contacts (UPPER(surname));  
  2. SQL>analyze index fbi compute statistics;  
  3. SQL>analyze table sale_contacts compute statistics;  
  4. SQL>SELECT count(*) FROM sale_contacts WHERE UPPER(surname) = 'ELLISON';   
  5. Execution Plan  
  6. ----------------------------------------------------------   
  7. 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=17)   
  8. 1 0 SORT (AGGREGATE)   
  9. 2 1 INDEX (RANGE SCAN) OF 'FBI' (NON-UNIQUE) (Cost=2 Card=381 Bytes=6477

從SQL*Plus返回的執行計劃我們可以看到,這次,Oracle對表不再全表掃描,而是先掃描索引,因為優化器可以知道FBI索引得存在。
使用Oracle FBI索引所能夠帶來的性能提升取決于表的大小、表中重復記錄的量、在WHERE子句中使用的列等因素。
有一點需要清楚,Oracle FBI索引并不真正在索引里邊存儲了表達式的結果,而是使用了一個"表達樹"(expression tree)。
 

 

 

【編輯推薦】

詳解Windows下卸載Oracle數據庫

詳解如何將Oracle安裝為Linux服務

詳解Oracle多種表連接方式

oracle中使用SQL遞歸語句的例子

初識Oracle裸設備二十問

責任編輯:段燃 來源: 互聯網
相關推薦

2010-11-16 09:55:12

Oracle分區索引

2010-10-26 11:55:21

Oracle OS備份

2010-10-27 16:22:07

Oracle層次查詢

2010-10-25 15:04:39

Oracle文本函數

2010-10-29 15:37:51

Oracle物理結構

2010-11-15 13:20:06

Oracle恢復結構

2010-10-28 13:20:50

ORACLE reso

2010-11-15 10:40:58

Oracle啟動參數

2010-10-12 13:14:11

mysql索引類型

2010-10-25 15:20:23

Oracle數據轉換函

2010-10-27 14:57:24

Oracle查詢

2010-10-29 10:56:46

ORACLE用戶驗證

2010-10-27 14:27:13

oracle查詢語句日

2010-11-16 14:59:39

Oracle顯式游標

2010-10-25 17:13:08

oracle分組函數

2010-10-29 10:04:27

2010-11-15 15:44:11

Oracle文件系統

2010-10-27 15:58:01

Oracle臨時表

2010-10-29 14:57:12

Oracle歸檔模式

2010-10-26 11:28:33

ORACLE運行方式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂中文av| 亚洲综合国产精品 | 操人视频在线观看 | 欧美在线视频一区二区 | 亚洲精品久久久蜜桃 | 欧美日韩在线免费观看 | 欧美激情一区二区 | 久久精品一二三影院 | 亚洲视频免费 | 婷婷久久精品一区二区 | 国产在线精品一区二区 | 精品亚洲一区二区三区四区五区 | 性xxxxx | 成人亚洲片 | 99精品欧美一区二区三区 | 成年人在线视频 | 97超级碰碰 | 精品一区二区三 | 一区二区三区回区在观看免费视频 | 成人精品一区二区三区中文字幕 | 免费特级黄毛片 | 国产精品毛片无码 | 天天天操操操 | 精品亚洲一区二区三区四区五区高 | 日本不卡一区二区三区 | 国产欧美日韩一区 | 免费毛片网站在线观看 | 成人午夜视频在线观看 | 在线播放中文字幕 | 午夜av影院 | 色综合av| 色888www视频在线观看 | 亚洲精品一区二区三区四区高清 | 日韩国产在线 | 中文精品视频 | 9999久久 | 国产一区二区免费 | 一区二区三区免费看 | 久久久国产精品 | 国产成视频在线观看 | 亚洲国产成人精品女人久久久 |