1. 程式人生 > >強烈推薦 10 本我私藏的資料庫書單,附讀書方法

強烈推薦 10 本我私藏的資料庫書單,附讀書方法

二哥有推薦的資料庫書單嗎?關於 MySQL 和 Oracle 的,謝謝了。

讀者小貓私信問了我上面這個問題,我覺得問題挺典型的,值得寫篇文章分享一下。因為對於 Java 程式設計師來說,幾乎不可避免地要和資料庫打交道,MySQL 和 Oracle 恰好又是兩個使用最廣泛的資料庫。

MySQL 和 Oracle 都屬於關係型資料庫,現在都隸屬於甲骨文公司,這家公司的產品很牛逼,CEO 拉里埃爾森也很牛逼,和史蒂夫喬布斯是鐵哥們。Oracle 相對 MySQL 更沉重一些,屬於企業級應用。而 MySQL 是開源的,效能又給力,所以近些年來市場佔用率已經飆升到了第一位,甩開 Oracle 兩條街。

(我用 Oracle 比較少,所以本篇就以 MySQL 為主,小夥伴們如果對 Oracle 瞭解得比較透徹,請在留言區推薦一下,拜謝。)

好了,接下來上書單,希望小夥伴們能夠喜歡,喜歡的話,就收藏,讓它吃灰去。不不不,喜歡的話,買幾本好好讀讀,學到就是賺到。

第一本、《SQL 必知必會》

SQL,全名為 Structured Query Language,也就是結構化查詢語言。經常有一些小夥伴抱怨說,“二哥,在公司乾的無非是一些 CURD 的工作,感覺沒啥進步。”這句話裡面的 CURD 指的就是建立(Create)、更新(Update)、讀取(Retrieve)和刪除(Delete)相關的業務操作,也就是 SQL 的範圍。

但說白了,再偉大的產品,其業務永遠也是圍繞著增刪改查轉啊。

《SQL 必知必會》這本書名副其實,能在最短時間內教會你實際工作環境中最常用和最必需的 SQL 知識,實用性極強。這本書是麻省理工學院、伊利諾伊大學等眾多大學的參考教材——是不是一下子就感覺檔次高了。

第二本、《SQL 學習指南》

封面上有一隻小動物,再帶上“O'REILLY”這個標識,就可以下一句肯定的結論了——這是一本經典書。

《SQL學習指南(第2版 修訂版)》這本書以 SQL92 標準為藍本,涵蓋了 MySQL 6.0、Oracle 11g。全面系統地介紹了 SQL 語言各方面的基礎知識以及一些高階特性,包括 SQL 資料語言、SQL 方案語言、資料集操作、子查詢以及內建函式與條件邏輯等內容。

經常和資料庫接觸的初學者可以常備在身邊,用到就去翻翻。

第三本、《MySQL 必知必會》

《MySQL 必知必會》這本書的英文原版名是《Sams Teach Yourself MySQL in 10 Minutes》,有沒有品到一絲絲標題黨的味道?不過,中文版名字就優雅多了。

這書非常適合想快速瞭解資料庫原理和 MySQL 的新手閱讀。快餐性質,簡潔明快,小開本,而且很薄,有點《了不起的蓋茨比》那本書的味道,讀起來很流暢。

第四本、《資料庫系統概念》

哇,黑皮書來了哦!黑皮書只有一個缺點,就是枯燥,但說良心話,黑皮書都特麼是經典之作啊。尤其適合心靜的大學生來讀,反正大學生活除了談戀愛最重要外(嘿嘿),我覺得就剩下學習了。

資料庫領域的殿堂級作品;夯實資料庫理論基礎,增強資料庫技術內功的必備之選;對深入理解資料庫,深入研究資料庫,深入操作資料庫都具有極強的指導作用!

總之,有時間就讀,真的香就對了。

第五本、《MySQL技術內幕 : InnoDB儲存引擎 第2版》

眾所周知,MySQL 有兩種常見的儲存引擎,一種是 MyISAM,一種是 InnoDB。如果需要支援事務,就選擇 InnoDB,如果一個表絕大多數情況下只用來讀,可以選擇 MyISAM。從 MySQL 5.5 開始,InnoDB 已經成為 MySQL 的預設引擎,這說明它的優勢是有目共睹的。

《MySQL技術內幕:InnoDB儲存引擎(第2版)》這本書恰好從原始碼的角度深度解析了 InnoDB 的體系結構、實現原理、工作機制,並給出了大量最佳實踐,能幫助你係統而深入地掌握 InnoDB,更重要的是,它能給你你設計高效能、高可用的資料庫系統提供絕佳的指導。

第六本、《高效能MySQL(第3版)》

這本書的封面是不是有點熟,風格和之前推薦的《 SQL 學習指南》高度相似,對吧?這本書的知名度非常高,就好像 MySQL 領域的周杰倫,幾乎所有要學習 MySQL 的開發人員都得買它。

我家裡這本書已經快被我翻爛了,說實話。這本書的內容非常豐富,幾乎涵蓋了 MySQL 所有方面:

  • 前兩章為準備階段,包含一些基本的概念與效能評測工具。
  • 第三章到第七章為優化部分,從架構、索引、查詢語句,到引數配置、軟硬體的優化。
  • 第八章到第十四章為服務的管理與維護,涵蓋了複製、備份、安全等等內容及相關工具。

第七本、《高可用MySQL(第2版)》

《高可用MySQL:構建健壯的資料中心》這本書主要講解真實環境下如何使用 MySQL 的複製、叢集和監控特性,揭示 MySQL 可靠性和高可用性的方方面面。旨在解決 MySQL 資料庫的常見應用瓶頸,在保持 MySQL 的持續可用性的前提下,挖潛各種提高效能的解決方案。

這本書比較適合 MySQL 的專業人士看,否則很難駕馭得了。

第八本、《Oracle高效設計》

沒辦法,雖然 Oracle 用得不多,但對經典書還是有一些耳聞的。《Oracle高效設計》這本書的評價還是不錯的,作者 Thomas Kyte 是 Oracle 專業領域世界上最權威的專家之一,也是 Oracle 核心技術小組副主席。

這本書對 Oracle 及資料庫的知識進行了全面深入的講解,是一本關於 Oracle 的高階手冊。內容包括:效能工具包、體系結構選擇、語句處理、故障排除、高效的管理、高效的設計模式、高效的 PL/SQL 程式設計等。

好了,就到這吧,小夥伴們,我覺得這八本書已經夠看上一段時間了。接下來,順帶分享一下我的一些讀書方法,我覺得這個價值可能比書單本身更有價值,希望能夠給小夥伴們的一些參考。

1)速讀

像入門書籍,要在最短時間內過一遍,比如說《SQL 必知必會》,不要覺得速讀一遍什麼也記不住,沒關係的,本身腦容量就是有限的。速讀的目的很單純,瞭解一本書的大綱,有沒有勾引你(感興趣)的內容。

或者說有沒有你不懂的內容,標記一下,對後面再讀做到一個提醒的作用。

2)精讀

有了速讀的基礎,再認真讀一遍的時候,你就會感覺完全不一樣了,就好像你去一個地方旅遊,總要先做個小攻略,在地圖上盤算一下,真正身處一個地方的時候,你就不會暈頭轉向,或者說有一種,“哦,原來是這樣啊”的感覺。

3)實戰

讀書最怕就是眼高手低,你以為你記住了,理解了,如果不動手記筆記或者敲程式碼去實戰的話,基本上等於沒看,因為你是在讀技術書,又不是哲學書,對吧?

只靠大腦去思考是遠遠不夠的,還需要你的手去敲一敲,跑一跑,執行一下,看看結果是否符合預期,會不會出錯。

這三個步驟下來,一本書就再也不愁“讀了和沒讀一樣”了,小夥伴們有沒有 get 到?

我是沉默王二,一枚有趣的程式設計師。如果覺得文章對你有點幫助,請微信搜尋「 沉默王二 」第一時間閱讀。

本文 GitHub 已經收錄,有大廠面試完整考點,歡迎 Star。

原創不易,莫要白票,請你為本文點個贊吧,這將是我寫作更多優質文章的最強動力。