Oracle 索引學習

2022-06-25 23:09:15 字數 751 閱讀 4101

索引的建立語句

單列索引

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

create index 索引名 on 表名(列名1,列名2....)
刪除索引

drop index 索引名
檢視某個表中的所有的索引

select * from all_indexs where table_name='表名'
檢視某個表中建立索引的所有列

select * from all_ind_columns where table_name='表名'
索引的優缺點:

查詢優化器:

當oracle拿到sql語句的時候,會使用查詢優化器去分析該語句,並根據分析結果生成查詢執行計畫。也就是說,資料庫是執行的查詢計畫,而不是sql語句。

查詢優化器有rbo(rule-based-optimizer,基於規則的查詢優化器)和cbo(cost-based-optimizer,基於成本的查詢優化器),其中基於規則的查詢優化器在10g的版本中徹底消失了。原因是因為rbo最後的查詢都是全表掃瞄,而cbo會根據統計資訊選擇最優的查詢方案。

因此,cbo一旦發現有索引的存在,並且這個索引能幫助提高查詢速度,就是使用通過索引進行查詢的方法。

ORACLE索引表學習

索引表與標準表的差異 一 索引表中的rowid列存放的是 邏輯 實體地址。而標準表的rowid偽列中儲存的則是真實的實體地址,這是兩者之間最本質的區別。另外其他幾個方面的差異都是因為有這個差異存在而存在。或者說,它是索引表優勢的根源。二 索引表對記錄的訪問是基於主鍵的,也就是說,根據邏輯的rowid...

Oracle的索引學習

索引是對資料庫表中乙個或多個列的值進行排序的結構。索引是為了提高資料庫的查詢效能,而引入的概念。索引的概念,就是根據表記錄中的乙個或多個列,通過一定的運算規則,將這些列的特徵表示為乙個數值或字 符串。資料庫系統將這些數值或字串加上與之相關的rowid,用一定的資料結構儲存起來。實現的基本原理 使用了...

Oracle學習之 索引

一 b 樹索引 簡述 b 樹索引實現類似於倒置的樹型結構,包括根節點 分支節點和葉子節點,並且使用樹遍歷演算法來搜尋列值。葉子節點中包含一對 值 行編號 值,值對應於索引鍵列,行編號則表示行在表資料塊中的物理位置。分支節點包含葉子節點目錄以及儲存在其中的葉子節點的值範圍。根節點包含分支節點目錄以及這...