oracle數據庫索引


oracle數據庫索引

1、b-tree索引

2、位圖索引

3、函數索引

3、哈希索引:不適合模糊查詢和范圍查詢(包括like,>,<,between……and等),由於 Hash 索引比較的是進行 Hash 運算之后的 Hash 值,所以它只能用於等值的過濾,不能用於基於范圍的過濾,因為經過相應的Hash 算法處理之后的 Hash 值的大小關系,並不能保證和Hash運算前完全一樣;

索引的創建語法: 

CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> 

      ON <schema>.<table_name> 

           (<column_name> | <expression> ASC | DESC, 

            <column_name> | <expression> ASC | DESC,...) 

     TABLESPACE <tablespace_name> 

     STORAGE <storage_settings> 

     LOGGING | NOLOGGING 

    COMPUTE STATISTICS 

     NOCOMPRESS | COMPRESS<nn> 

     NOSORT | REVERSE 

     PARTITION | GLOBAL PARTITION<partition_setting> 

相關說明 

1) UNIQUE | BITMAP:指定UNIQUE為唯一值索引,BITMAP為位圖索引,省略為B-Tree索引。 

2)<column_name> | <expression> ASC | DESC:可以對多列進行聯合索引,當為expression時即“基於函數的索引” 

3)TABLESPACE:指定存放索引的表空間(索引和原表不在一個表空間時效率更高) 

4)STORAGE:可進一步設置表空間的存儲參數 

5)LOGGING | NOLOGGING:是否對索引產生重做日志(對大表盡量使用NOLOGGING來減少占用空間並提高效率) 

6)COMPUTE STATISTICS:創建新索引時收集統計信息 

7)NOCOMPRESS | COMPRESS<nn>:是否使用“鍵壓縮”(使用鍵壓縮可以刪除一個鍵列中出現的重復值) 

8)NOSORT | REVERSE:NOSORT表示與表中相同的順序創建索引,REVERSE表示相反順序存儲索引值 

9)PARTITION | NOPARTITION:可以在分區表和未分區表上對創建的索引進行分區 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM