首先,能看懂 MySQL 源碼的人物,我感覺肯定在技術上是一位大牛,能夠將 C/C++ 語言的 MySQL 源碼看懂,肯定也是一位非常有耐心的技術人,能夠耐著性子去專研。如果能夠將Mysql源碼研究的很透徹的話,我相信出去到大廠找數據庫內核開發的崗位時,絕對是一個非常巨大的優勢。
能看懂 Mysql 的源碼,首先第一點需要對 C/C++ 語言的知識點非常的熟悉,因為 MySQL 底層幾乎都是 C/C++ 語言寫的,比如指針等。對于 MySQL 源碼能夠看得的話,我相信在和別人談論數據庫相關的問題時,其實也會更加有專業性和深度,能夠快速的理解對方所說的數據庫問題。
同時,如果對 MySQL 源碼有著很深入了解的話,其實對于數據庫的相關配置優化等也會掌握的更好,因為你對底層原理了解的很透徹,對于自己做的每一件事情都是有理有據。每個數據庫參數是什么含義,為什么要這樣設置,背后都有你自己的理解和原因。這對于公司來說,也是非常需要這樣的人才。
當初我校招的時候,其實準備想投數據庫開發相關的崗位,當時其實自己也自學過 MySQL 底層的原理(不過我沒有去研究過源碼)。MySQL 最主要的還是底層可插拔式的存儲引擎,比如 InnoDB、MYISAM等,重點是 InnoDB存儲引擎。學習看 MySQL 源碼的話,我建議可以選擇其中一個模塊開始入手。
我剛開始看《MySQL 技術內幕:InnoDB存儲引擎》這本書的時候,上面講解的非常多的 MySQL InnoDB 的原理。先從原理知識入手,再去看源碼會更加好一些,因為你掌握了整體的代碼邏輯方向。說實話直接上手看 MySQL 源碼,將會是很難的一件事情。我相信那些能夠看懂 MySQL 源碼的人,肯定在看源碼之前,有一定的技術知識儲備。
新同學在去研究某一門開源技術組件的源碼時,不建議直接上手去看代碼,你應該是先去整體了解一下該技術組件的整體原理和框架,源碼層則是更加細節方面的實現,你應該帶著某一個問題去看,有針對性和目的性的去看源碼,這樣你的提升才會更加的快速。
我是Lake,專注大數據技術原理、人工智能、數據庫技術、程序員經驗分享,如果我的問答對你有幫助的話,希望你能點贊關注我,感謝。
我會持續大數據、數據庫方面的內容,如果你有任何問題,也歡迎關注私信我,我會認真解答每一個問題。期待您的關注