上次去用友面試,面試官問我平時給資料庫加索引 ,索引有什麼利,有什麼弊, 當時我不知道怎麼說,我只知道好處,今天就總結了下,希望對大家面試有所幫助 。
索引的優點
1.建立唯一性索引,保證資料庫表中每一行資料的唯一性
2.大大加快資料的檢索速度,這也是建立索引的最主要的原因
3.加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。
4.在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。
5.通過使用索引,可以在查詢的過程中使用優化隱藏器,提高系統的效能。
四、索引的缺點
1.建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加
2.索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大
3.當對表中的資料進行增加、刪除和修改的時候,索引也要動態的維護,降低了資料的維護速度
更詳細的介紹請參照以下文章:
[url]
[url]
建索引的考量
一般性見解 1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要...
建索引的考量
一般性見解 1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要...
HashCode的利與弊
hashcode是怎麼來的?將物件實體地址轉換成乙個整數,然後該整數通過hash函式的演算法就得到了hashcode。該整數和hashcode是對應的,而物件的實體地址和該整數也是對應的。所以,物件的實體地址,整數,hashcode是一種對映關係。查詢效率高!為什麼查詢效率高?因為採用雜湊表,也就是...