【Java面試】請說一下Mysql索引的優點和缺點?
- 2022 年 6 月 6 日
- 筆記
今天分享的這道面試題,讓一個工作4年的小夥子去大眾點評拿了60W年薪。
這道面試題是: 」請你說一下Mysql索引的優點和缺點「
關於這道題,看看普通人和高手的回答
普通人:
嗯。。。。。。。。。
高手:
索引,是一種能夠幫助Mysql高效從磁碟上檢索數據的一種數據結構。
在Mysql中的InnoDB引擎中,採用了B+樹的結構來實現索引和數據的存儲

在我看來,Mysql裡面的索引的優點有很多
- 通過B+樹的結構來存儲數據,可以大大減少數據檢索時的磁碟IO次數,從而提升數據查詢的性能
- B+樹索引在進行範圍查找的時候,只需要找到起始節點,然後基於葉子節點的鏈表結構往下讀取即可,查詢效率較高。
- 通過唯一索引約束,可以保證數據表中每一行數據的唯一性
當然,索引的不合理使用,也會有帶來很多的缺點。
- 數據的增加、修改、刪除,需要涉及到索引的維護,當數據量較大的情況下,索引的維護會帶來較大的性能開銷。
- 一個表中允許存在一個聚簇索引和多個非聚簇索引,但是索引數不能創建太多,否則造成的索引維護成本過高。
- 創建索引的時候,需要考慮到索引欄位值的分散性,如果欄位的重複數據過多,創建索引反而會帶來性能降低。
在我看來,任何技術方案都會有兩面性,大部分情況下,技術方案的選擇更多的是看中它的優勢 和當前問題的匹配度。
以上就是我對這個問題的理解。
總結
行業競爭加劇,再加上現在大環境不好,各個一二線大廠都在裁員。
帶來的問題就是,人才篩選難度增加,找工作越來越難。
這道題目考察的是求職者對於Mysql的理解程度,不算難,但能卡主很多人。
喜歡的朋友記得點贊和收藏。
有任何工作和學習上的問題,可以隨時私信我。
版權聲明:本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自
Mic帶你學架構!
如果本篇文章對您有幫助,還請幫忙點個關注和贊,您的堅持是我不斷創作的動力。歡迎關注「跟著Mic學架構」公眾號公眾號獲取更多技術乾貨!


