做爲一名編程人員,對MySQL必定不會陌生,尤爲是互聯網行業,對MySQL的使用是比較多的。對於求職者來講,MySQL又是面試中必定會問到的重點,不少人擁有大廠夢,卻由於MySQL敗下陣來。實際上,MySQL並不難,今天這份最全的MySQL總結,助你向大廠「開炮」,面試再也不被MySQL難倒。mysql
注意:關於MySQL的內容整理,包括了面試題、學習筆記、使用文檔以及Xmind思惟圖幾個部分,須要高清完整版的請轉發+關注,而後而後加我VX【tkzl6666】得到免費領取方式面試
1.1 MySQL 面試題(基礎部分):算法
drop、truncate、 delete區別sql
數據庫三範式是什麼?數據庫
union和union all有什麼不一樣?編程
char、varchar二、varchar有什麼區別?緩存
合併查詢有哪些?安全
SQL語句執行順序性能優化
null的含義架構
MySQL、SqlServer、oracle寫出字符存儲、字符串轉時間
update語句能夠修改結果集中的數據嗎?
B樹和B+樹的區別
你建過索引嗎? 建索引的原則
索引的類型, 如主鍵索引
查看SQL執行計劃
有十萬條數據, 寫SQL語句查詢其中某字段較大值的幾條數據
子查詢與關聯查詢的區別
MySQL InnoDB、Mysaim的特色?
樂觀鎖和悲觀鎖的區別??
行鎖和表鎖的區別?
數據庫隔離級別是什麼?有什麼做用?
MySQL主備同步的基本原理。
如何優化數據庫性能(索引、分庫分表、批量操做、分頁算法、升級硬盤SSD、業務優化、主從部署)
SQL什麼狀況下不會使用索引(不包含,不等於,函數)
通常在什麼字段上建索引(過濾數據最多的字段)
MySQL,B+索引實現,行鎖實現,SQL優化
如何解決高併發減庫存問題
數據庫事務的幾種粒度
1.2 MySQL 面試題(實戰部分):
數據庫三範式,根據秒殺場景設計數據表
數據庫的主從複製
死鎖怎麼解決
mysql併發狀況下怎麼解決(經過事務、隔離級別、鎖)
觸發器的做用?
什麼是存儲過程?用什麼來調用?
存儲過程的優缺點?
存儲過程與函數的區別
索引的做用?和它的優勢缺點是什麼?
什麼樣的字段適合建索引
索引類型有哪些?
什麼是事務?什麼是鎖?
什麼叫視圖?遊標是什麼?
視圖的優缺點
列舉幾種錶鏈接方式,有什麼區別?
主鍵和外鍵的區別?
在數據庫中查詢語句速度很慢,如何優化?
數據庫三範式是什麼?
Varchar2和varchar有什麼區別?
Oracle和Mysql的區別?
order by與group by的區別
1.3 MySQL 面試題(高級進階部分):
請解釋關係型數據庫概念及主要特色?
請說出關係型數據庫的典型產品、特色及應用場景?
請解釋非關係型數據庫概念及主要特色?
請說出非關係型數據庫的典型產品、特色及應用場景?
請詳細描述 SQL 語句分類及對應表明性關鍵字。
請詳細描述 char(4)和 varchar(4)的差異。
如何受權 oldboy 用戶從 172.16.1.0/24 訪問數據庫。
什麼是 MySQL 多實例,如何配置 MySQL 多實例?
如何增強 MySQL 安全,請給出可行的具體措施?
delete 和 truncate 刪除數據的區別?
MySQL Sleep 線程過多如何解決?
sort_buffer_size 參數做用?如何在線修改生效?
如何在線正確清理 MySQL binlog?
Binlog 工做模式有哪些?各什麼特色,企業如何選擇?
誤操做執行了一個 drop 庫 SQL 語句,如何完整恢復?
mysqldump 備份使用了-A -B 參數,如何實現恢復單表?
詳述 MySQL 主從複製原理及配置主從的完整步驟。
如何開啓從庫的 binlog 功能?
MySQL 如何實現雙向互爲主從複製,並說明應用場景?
MySQL 如何實現級聯同步,並說明應用場景?
MySQL 主從複製故障如何解決?
如何監控主從複製是否故障?
MySQL 數據庫如何實現讀寫分離?
生產一主多從從庫宕機,如何手工恢復?
MySQL面試答案與解析:
2.1 MySQL 性能優化的21個最佳實踐
爲查詢緩存優化你的查詢
EXPLAIN 你的 SELECT 查詢
當只要一行數據時使用 LIMIT 1
爲搜索字段建索引
在 Join 表的時候使用至關類型的例,並將其索引
千萬不要 ORDER BY RAND()
避免 SELECT *
永遠爲每張表設置一個 ID
使用 ENUM 而不是 VARCHAR
從 PROCEDURE ANALYSE() 取得建議
儘量的使用 NOT NULL
Prepared Statements
無緩衝的查詢
把 IP 地址存成 UNSIGNED INT
固定長度的表會更快
垂直分割
拆分大的 DELETE 或 INSERT 語句
越小的列會越快
選擇正確的存儲引擎
使用一個對象關係映射器(Object Relational Mapper)
當心「永久連接」
2.2 MySQL 性能調優與架構設計——全冊
基礎篇:
MySQLI基本介紹、MySQL架構組成、MySQL存儲引擎簡介、MySQL安全管理、MySQL備份與恢復
性能優化篇:
影響MySQLServer性能的相關因素、MySQI數據庫鎖定機制、MySQL數據庫Query的優化、MySQL數據庫Schema設計的性能優化、MySQLServer性能優化、經常使用存儲引擎優化
架構設計篇:
MySQL可擴展設計的基本原則、可擴展性設計之MySQLReplication、可擴展性設計之數據切分、可擴展性設計之C ache與Se ar ch的利用、MySQLCluster、高可用設計之思路及方案、高可用設計之MySQL監控
2.3 MySQL從入門到項目實踐
第1篇 基礎知識
Hello MySQL、數據庫初探、MySQL經常使用管理工具的使用、MySQL 數據庫的基本操做
第2篇 核心應用
數據表的基本操做、MySQL視圖、MySQL的數據類型和運算符、MySQL函數、MySQL 數據庫查詢語句詳解、MySQL數據庫的數據與索引操做、存儲過程與存儲函數、使用MySQL觸發器
第3篇 核心技術
MySQL數據庫的權限管理與恢復、MySQL數據庫的複製、MySQL的日誌管理、利用MySQL構建分佈式應用、MySQL查詢緩存、MySQL錯誤代碼和消息的使用
第4篇 高級應用
在C#中實現MySQL數據庫的鏈接、在Java中實現MySQL數據庫的鏈接、在PHP中實現MySQL數據庫的鏈接
第5篇 項目實戰
項目實戰統籌階段——項目開發與規劃、項目實戰入門階段——論壇管理系統數據庫開發、項目實戰提升階段——企業會員管理系統數據庫開發、項目實戰高級階段——新聞發佈系統數據庫開發
MySQL 優化問題(Xmind)
事務、鎖、sql優化原則、JION的原理、執行計劃與執行明細、執行流程、表結構對性能的影響、索引
總而言之,學習是本身的事,做爲開發人員,MySQL是必需要掌握的,若是擁有大廠夢,基礎可不能太差,若是你對MySQL還有不少不解問題,那麼這份MySQL總結大禮包必定要擁有!
須要MySQL資料大禮包高清完整版的老鐵請轉發+關注,而後而後加我VX【tkzl6666】得到免費領取方式