【學習】SQL基礎-018-索引

Kevin_Weig發表於2018-04-10
1、概念
    是資料庫物件,透過指標加速查詢資料,減少磁碟IO
    類似書的目錄
    自動使用和維護索引    --primary key 和unique列上自動建立

2、建立
    基本語法
         create index emp_ename_idx  on emp(ename);
    B樹索引
        1)唯一索引,指鍵值不重複。SQL> create unique index empno_idx on emp1(empno);
        2)非唯一索引  SQL> create index empno_idx on emp1(empno);
        3)組合索引(Composite):基於兩個或多個列的索引。 SQL> create index job_deptno_idx on emp1(job,deptno);
        4)反向鍵索引(Reverse):將位元組倒置後組織鍵值。當使用序列產生主鍵索引時,可以防止葉節點出現熱塊現象。缺點是無法提供索引範圍掃描。
            SQL> create index mgr_idx on emp1(mgr) reverse;
       5)函式索引(Function base):以索引列值的函式值為鍵值去組織索引  SQL> create index fun_idx on emp1(lower(ename));
       6)壓縮(Compress):重複鍵值只儲存一次,就是說重複的鍵值在葉塊中就存一次,後跟所有與之匹配的 rowid 字串。
             SQL> create index comp_idx on emp1(sal) compress;
       7)升序或降序( Ascending or descending):葉節點中的鍵值排列預設是升序的。
            SQL> create index deptno_job_idx on emp1(deptno desc, job asc);
    函式索引

3、重建、刪除
    alter index ind_test_id rebuild online;
    drop index

4、不可用、不可見
    unusable 不可用
         alter index ind_test_id unusable;
         如需使用得重建:alter index ind_test_id rebuild;

    invisible 不可見
         alter index ind_test_id invisible;
        alter index ind_test_id visible;
         11g新特性,只對最佳化器不可見,但索引維護還是正常進行

5、索引監控(檢視索引是否被使用)
     alter index pk_dept monitoring usage;
     select * from v$object_usage;
     alter index pk_dept nomonitoring usage;

    
6、注意事項
    

7、檢視
    user_indexes
    user_ind_columns

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31476473/viewspace-2152750/,如需轉載,請註明出處,否則將追究法律責任。

相關文章