oracle資料庫建立、刪除索引等操作

張某某啊哈發表於2020-09-30

1、建立索引

create index 索引名 on 表名(列名);

2、刪除索引

drop index 索引名;

3、建立組合索引

create index 索引名 on 表名(列名1,,列名2);

4、查詢索引

--根據索引名,查詢表索引欄位
select * from user_ind_columns where index_name='索引名';
--根據表名,查詢一張表的索引
select * from user_indexes where table_name='表名';

在關聯式資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。
索引提供指向儲存在表的指定列中的資料值的指標,然後根據您指定的排序順序對這些指標排序。資料庫使用索引以找到特定值,然後順指標找到包含該值的行。這樣可以使對應於表的SQL語句執行得更快,可快速訪問資料庫表中的特定資訊。
當表中有大量記錄時,若要對錶進行查詢,第一種搜尋資訊方式是全表搜尋,是將所有記錄一一取出,和查詢條件進行一一對比,然後返回滿足條件的記錄,這樣做會消耗大量資料庫系統時間,並造成大量磁碟I/O操作;第二種就是在表中建立索引,然後在索引中找到符合查詢條件的索引值,最後通過儲存在索引中的ROWID(相當於頁碼)快速找到表中對應的記錄。

優點
1.大大加快資料的檢索速度;
2.建立唯一性索引,保證資料庫表中每一行資料的唯一性;
3.加速表和表之間的連線;
缺點
1.索引需要佔物理空間。
2.當對錶中的資料進行增加、刪除和修改的時候,索引也要動態的維護,降低了資料的維護速度。

相關文章