CREATE INDEX介紹

何謂CREATE INDEX
  • 建立索引在表格欄位上,它可以大幅提升查詢效能,可是對於新增,修改,刪除的操作會降低資料庫的效能,所以建立索引一般是配合查詢操作使用

索引型態介紹
  • 可分為複合式索引,函數索引,一般索引
    1. 複合式索引 : 所建立的索引可參考多個欄位
    2. 函數索引 : 與函數搭配建立索引
    3. 一般索引 : 不屬於複合式索引與函數索引

格式
CREATE [UNIQUE | BITMAP] INDEX [schema.]index_name
     ON [schema.]table_name(column [,column...]);
UNIQUE : 建立唯一索引,唯一索引所參考到的欄位不能有重複值
BITMAP : 建立位元映射索引,通常使用位元映射索引是針對重複性高的欄位值
schema : 結構名稱 
index_name : 索引名稱
table_name : 表格名稱
column : 欄位名稱
使用方式
  • SQL使用方式
說明 : 建立唯一索引(又可稱為一般索引)在hr使用者的emp表格的xid欄位上,索引名稱為id
create unique index id on hr.emp(xid);
說明 : 建立位元映射索引(又可稱為複合式索引)在hr使用者的emp表格的xid欄位與name欄位上,索引名稱為x_id
create bitmap index x_id on hr.emp(xid,name);
說明 : 建立索引(又可稱為函數索引)在hr使用者的emp表格的name欄位上,該欄位被索引參考到的值是為大寫,因為使用大寫函數,索引名稱為app
create index app on hr.emp(upper(name));