oracle

索引

索引是與表相關的一個可選結構

用以提高 SQL 語句執行的性能
減少磁盤I/O
使用 CREATE INDEX 語句創建索引
在邏輯上和物理上都獨立於表的數據

Oracle 自動維護索引。


創建標準索引  

SQL> CREATE INDEX item_index ON itemfile (itemcode)
     TABLESPACE index_tbs;

重建索引

SQL> ALTER INDEX item_index REBUILD; 

刪除索引

SQL> DROP INDEX item_index; 


組合索引是在表的多個列上創建的索引
索引中列的順序是任意的
如果 SQL 語句的 WHERE 子句中引用了組合索引的所有列或大多數列,則可以提高檢索速度。


SQL> CREATE INDEX comp_index
     ON itemfile(p_category, itemrate);

Oracle中組合索引的使用詳解

http://www.cnblogs.com/rootq/archive/2008/10/19/1314669.html   (執行計劃、組合索引的講解)

 1、 當使用基於規則的優化器(RBO)時,只有當組合索引的前導列出現在SQL語句的where子句中時,纔會使用到該索引;



索引中的分區

可以將索引存儲在不同的分區中
與分區有關的索引有三種類型:
局部分區索引 - 在分區表上創建的索引,在每個表分區上創建獨立的索引,索引的分區範圍與表一致
全局分區索引 - 在分區表或非分區表上創建的索引,索引單獨指定分區的範圍,與表的分區範圍或是否分區無關
全局非分區索引 - 在分區表上創建的全局普通索引,索引沒有被分區

 

 

like '%a%'任何情況下都不會走索引,因爲索引只是排了個序,對於like '%a%'這種操作索引根本用不上,但對like 'a%'這種是有效的

兩面%%的時候不會走索引,後面有的時候纔會走索引。 看執行計劃

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章