又給大家整了波大廠的MySQL面試題,需要的進(jìn)來自取
看到之前很多小伙伴詢問面試資料,

老規(guī)矩,
為了方便大家保存和閱讀,
我把完整資料和答案打包為pdf
關(guān)注下方公眾號SpringForAll社區(qū),
回復(fù)關(guān)鍵詞【MySQL】
即可免費領(lǐng)取完整pdf資料!
索引
什么是索引?
索引是存儲引擎用于提高數(shù)據(jù)庫表的訪問速度的一種數(shù)據(jù)結(jié)構(gòu)。
索引的優(yōu)缺點?
優(yōu)點:
-
加快數(shù)據(jù)查找的速度 -
為用來排序或者是分組的字段添加索引,可以加快分組和排序的速度 -
加快表與表之間連接的速度
缺點:
-
建立索引需要占用物理空間 -
會降低表的增刪改的效率,因為每次對表記錄進(jìn)行增刪改,需要進(jìn)行動態(tài)維護索引,導(dǎo)致增刪改時間變長
索引的作用?
數(shù)據(jù)是存儲在磁盤上的,查詢數(shù)據(jù)時,如果沒有索引,會加載所有的數(shù)據(jù)到內(nèi)存,依次進(jìn)行檢索,讀取磁盤次數(shù)較多。有了索引,就不需要加載所有數(shù)據(jù),因為B+樹的高度一般在2-4層,最多只需要讀取2-4次磁盤,查詢速度大大提升。
什么情況下需要建索引?
-
經(jīng)常用于查詢的字段 -
經(jīng)常用于連接的字段建立索引,可以加快連接的速度 -
經(jīng)常需要排序的字段建立索引,因為索引已經(jīng)排好序,可以加快排序查詢速度
什么情況下不建索引?
-
where條件中用不到的字段不適合建立索引 -
表記錄較少 -
需要經(jīng)常增刪改 -
參與列計算的列不適合建索引 -
區(qū)分度不高的字段不適合建立索引,如性別等
為方便大家領(lǐng)取
我已經(jīng)將所有面試題和答案整理好了
關(guān)注下方公眾號,回復(fù)關(guān)鍵詞"spring"
即可免費領(lǐng)取pdf資料????
評論
圖片
表情
