一般來說,程序員的面試內容分爲兩部分,一部分與編程相關,另一部分則與數據庫相關。而作爲數據庫中的主流,MySQL更是涉及面試中的諸多高頻考點。對於後端人員來說,不需要像專業的DBA那樣精通MySQL,但也需要掌握相關的基本內容。在此總結了MySQL面試中常見7大領域的50道經典面試題,以期幫助大家順利通過面試。
1.你知道哪些MySQL存儲引擎?
2.常見的存儲引擎都適用於哪些場景?
3.InnoDB和MyISAM的區別有哪些?
4、InnoDB和MyISAM,select count(*)哪個更快,爲什麼?
5、MyISAM Static和MyISAM Dynamic有什麼區別?
6.char和varchar的區別是什麼?
7.varchar(10)和int(10)分別有什麼含義?
8.MySQL的binlog有幾種錄入格式,它們之間有什麼區別?
9.如何在Unix和MySQL時間戳之間進行轉換?
10.怎樣才能找出最後一次插入時分配了哪個自動增量?
11.列設置爲AUTO INCREMENT時,如果在表中達到最大值,會發生什麼情況?
12.MySQL中,如果一個表有一列定義爲TIMESTAMP,則會發生什麼?
13.如果要存儲用戶的密碼散列,應該使用什麼字段進行存儲?
14.什麼是索引?
15.索引有什麼優缺點?
16.索引的數據結構和什麼有關?
17.MySQL主要的索引類型有哪些?
18.在建立索引的時候,需要考慮哪些因素?
19.Hash索引和B+樹索引有什麼區別?
20.非聚簇索引一定會回表查詢嗎?
21.什麼是聯合索引?爲什麼需要注意聯合索引中的順序?
22.怎樣知道語句運行很慢的原因?
23.爲何會發生針對該列創建了索引但是在查詢的時候並沒有使用的問題?
24.你對MySQL鎖是怎麼理解的?
25.加鎖有什麼好處?
26.Mysql中有哪幾種鎖?
27.什麼是死鎖?鎖等待?通過數據庫哪些表可以監控?
28.MySQL中InnoDB引擎的行鎖是如何實現的?
29.你知道哪些優化鎖的方法?
30.什麼是事務?
31.ACID是什麼?
32.事務是如何通過日誌來實現的?
33.同時有多個事務在進行會怎麼樣?
34.MySQL的事務隔離級別有哪些?
35.InnoDB使用的是哪種隔離級別?
36.REPEATABLE READ隔離級別下 MVCC 如何工作?
37.InnoDB 如何開啓手動提交事務?
38.在 InnoDB 中設置了 autocommit=0,添加一條信息之後沒有手動執行提交操作,請問這條信息可以被查到嗎?
39.爲什麼要儘量設定一個主鍵?
40.主鍵使用自增ID還是UUID?
41.字段爲什麼要求定義爲not null?
42.explain出來的各種item的意義是什麼?
43.profile的意義以及使用場景有哪些?
44.統計過慢查詢嗎?對慢查詢都怎麼優化過?
45.說一說你能想到的sql語句優化,至少五種
46.說一說你能想到的表結構優化,至少五種
47.數據三大範式是什麼?
48.超大分頁如何處理?
49.MySQL數據庫cpu飆升到500%的話,該如何處理?
50.什麼是存儲過程?
答案獲取方式:V信掃描下面二維碼,關注後回覆“mysql”即可~