前阿里丁奇:學習MySQL「必知必會」的36個知識點
毫無疑問,MySQL 是當下最流行的開源資料庫。憑藉強大的性能和易於使用性,它已被 Google、Facebook、YouTube、百度、網易和新浪等大型互聯網公司所應用。更有統計,世界上一流的互聯網公司中,排名前 20 的有 80% 都是 MySQL 的忠實用戶。
我剛開始接觸 MySQL ,是在百度貼吧做許可權系統的時候。那會我們遇到了一個奇怪的問題,一個正常 10 毫秒完成的 SQL 查詢請求會突然變得要執行 100 多毫秒才結束。我上網查不到答案,只好硬著頭皮翻源碼。
後來遇到了越來越多的問題,也是類似的情景,於是我就逐步養成了通過分析源碼理解原理的習慣
。後來到了阿里,我參與了阿里雲關係型資料庫服務內核的開發,並且負責開發開源分支 AliSQL,讓我對 MySQL 內核和源碼有了更深層次的研究和理解。在服務內部客戶和公有雲客戶的過程中,我有機會面對和解決足夠多的問題,再通過手冊的系統學習,算是將 MySQL 的知識網路補了起來。
這些年,打著「資料庫大拿」的稱號(當然,我並不敢這麼自詡),許多開發人員都會找我諮詢,他們經常問我諸如「為什麼我的 count(*) 這麼慢」「MySQL 對於千萬級的大表要怎麼優化」「SQL 使用 Join 好還是多次 Select 好」「1000 多萬條數據,我建了索引還是慢,怎麼辦」等等問題。
我發現其實許多開發者,都對如何學習和應用 MySQL 比較迷茫。我在使用 MySQL 的過程中,也曾遇到了形形色色的問題,從開發技巧到管理維護,從性能問題到安全問題。
回顧這個過程,我的第一個感受就是,如果一開始就有一些從理論到實戰的系統性指導,那該多好啊,也許我可以學習得更快些
。因此,我在極客時間開設《MySQL 實戰 45 講》專欄,就是希望能結合我十幾年跟 MySQL 打交道的實戰經驗,讓更多使用或對 MySQL 感興趣的朋友少走彎路,真正搞懂 MySQL。
「碼」上訂閱《MySQL 實戰 45 講》
我是誰?
我是林曉斌,網名「丁奇」。我先後在百度和阿里任職,從事 MySQL 資料庫方面的工作,一步步地從一個資料庫小白成為 MySQL 的代碼貢獻者。回想起來,從我第一次翻 MySQL 的源碼查到答案至今,已經有十個年頭了。在這個過程中,見證了 MySQL 從一個小型的關係型資料庫發展為各大企業的核心資料庫系統,也走了不少彎路,但同時也收穫了很多的知識和思考,希望能在這個專欄里分享給你。
作為一個過來人,我能深刻地意識到深入研究 MySQL 源碼對於我人生的影響。
不說別的,MySQL 本身就是一個設計優良的系統,深入研究源碼,你能從中學習到其巧妙的設計思路,並且把這些思路用到自己的工作中
。
比如 MySQL 里的 WAL 機制、索引的實現、緩存的處理方式等等,這些都是非常經典的設計,其中的設計思路和理念可以幫你解決你日常工作中的很多問題。換句話說,這就相當於你直接在向開發 MySQL 的大神學習開發經驗。我相信他們有足夠大的格局和實力來幫你成長和進步。
你將獲得?
這個專欄里,我並不想帶你去見證 MySQL 是有多複雜,相反,
我會幫你梳理出學習 MySQL 的主線知識,比如事務、索引、鎖等
。在這條主線上,每個點就是一個概念、一個機制或者一個原理說明。我會就開發過程中經常遇到的具體問題和你分析討論,並且幫你理解問題背後的本質
。當然,講本質的時候,我會把它涉及的周邊知識給你捋一遍。MySQL 內容可謂浩瀚,因此這個專欄肯定無法覆蓋所有 MySQL 知識,而我將在線的選擇上,選那些平時使用資料庫需要會用到的。希望這些線組成的網,能夠讓你對 MySQL 的體系框架有更好的認識。
概括起來,看完我的專欄,你會有下面收穫:
MySQL 核心技術詳解與原理說明
36 個 MySQL 常見痛點問題解析
完整的 MySQL 學習路徑
下面是目錄,更清晰地展示了這個專欄的具體內容。
限時福利
福利一:
限時優惠¥68,原價¥99
,11 月 24 日恢復原價福利二:每邀請一位好友購買,你可獲得
24 元現金返現
,多邀多得,上不封頂,隨時提現。(提現流程:極客時間 App - 我的 - 分享有賞)如何訂閱
長按識別下圖
二維碼
,試讀或訂閱專欄。點擊
「閱讀原文」
,試讀或訂閱專欄

※從小而美的互聯網公司到獨角獸大廠,將經歷哪些技術升級?
※說了這麼多年DevOps,到底是啥?
TAG:InfoQ |