索引的優缺點和使用情況

2021-08-21 09:36:50 字數 479 閱讀 1502

簡介:索引結構和優點都在這個裡面有描述。

一.索引的優點

簡單來說,主要有兩點:

1.尋找資料方式來說,b+tree的索引結構,平衡多路查詢樹 方式去查詢,速度快

2.查詢消耗方面來說,就是訪問資料塊io次數少,然後掃瞄資料塊小且少,自然就快了

二.索引的缺點

索引雖然給了查詢非常好的效率,但是並不能濫用。

為什麼說經常更新的字段不建議建立索引?為什麼索引不能建立特別多?

我們通過了解索引結構和原理,可以知道:

1.索引是把對應列資料撈到記憶體裡,然後排好序,建立在磁碟的空閒block裡的,從而產生了索引塊,那它肯定是佔磁碟空間的,因為索引裡還會有rowid(mysql是主鍵),用來回表找資料的,說明索引佔的空間比表裡一列還要大,如果每一列都建了索引,最後索引總大小會比表還要大。

2.update:更新欄位後還需要去索引塊更新索引,產生額外開銷,但是這個更新只要更新索引那個字段(面向索引裡的列)

檢視索引使用情況

檢視乙個索引是否正確建立,可以參考下這兩個引數 handler read key 和 handler read rnd next。如果索引正在工作,handler read key 的值將很高,這個值代表了乙個行被索引值讀取的次數,很低的值則表明增加索引得到的效能不高,因為索引並不經常使用。hand...

組合索引使用情況

組合索引查詢的各種場景 茲有 index a,b,c 組合索引多字段是有序的,並且是個完整的btree 索引。下面條件可以用上該組合索引查詢 a 5 a 5 and b 6 a 5 and b 6 and c 7 a 5 and b in 2,3 and c 5 下面條件將不能用上組合索引查詢 b ...

Oracle 索引的使用情況檢視

查詢使用者的索引 select index name,table name,tablespace name,index type,uniqueness status from dba indexes where owner scott 查詢使用者的索引列 select index name,tabl...