高效能Mysql學習筆記 1 總覽

2021-10-01 19:57:09 字數 1738 閱讀 6874

《高效能mysql》,這本經典之作,是個程式設計師就會買買買,但真正看完的確實不易。本篇部落格記錄的,也只是本人第一遍快速閱讀完之後的乙個簡易總結和記錄,尚未未深入學習,但已經感受到此書的「神力」,似乎沒有這本書解決不了的問題(前提是要對本書的每乙個字都要深入研究),看似700多頁的一本書,實際學習起來,恐怕7000多頁也不止。

簡言之,本書更多的是給予一種巨集觀的指導,告訴我們有哪些點可能會從效能的角度去優化。當然任何乙個點,書中都未詳細到可以作為手冊去看的程度,更多的是方向。

總結感受:開闊眼界,但要想實際操作,恐怕不是一時半會兒能消化的,其中很多場景,製作測試條件都很難。另外,由於買的年頭有點長了(2023年買的),本書的印次是2023年4月的印次,故書中很多內容也存在過時現象,有不少在寫書的版本需要做的優化,到了高版本,5.5及以上都已經由mysql自身解決,dba或研發人員不需要再為此煩勞。對,還有一點,十分推薦看看本書的附錄,相對於前面的章節,附錄,反而對於普通研發人員及dba,是更常見的操作。

隨話說:一張圖勝過千言萬語:

關於本書的目錄,就不再贅述,此文是本人學習的乙個總結,所以有不妥之處,還望讀者指正。

一、基準測試,在第二章節,提到的基準測試,始終貫穿全書幾乎每個章節,哈哈,默默的說一句,截止到本文,對基準測試這一章節的印象就是各種難難難。。。但又很重要,所以在資料庫這方面想要深入發展的小夥伴,可以仔細研究一下這一章節。

二、了解伺服器:知己知彼百戰不殆,面對技術也是一樣,想讓伺服器能夠更好的工作,那麼,了解它,就是最重要的,如圖,關於mysql伺服器的硬體、軟體、設計等各方面都是了解伺服器的不同方面,當然,也包括mysql的歷史(第一章)。

三、高可用,個人理解高可用,就是保障服務提供不間斷執行的程度,傳說中的n個9,本書中也提到了此概念,543頁,開篇第二句話:「高可用實際上意味著『』更少的宕機時間『』」。那麼從不同的角度和方面來保障高可用,包括系統的可擴充套件、遇災時恢復、保障滿足需求的響應時間等,分別對應本書的以下章節:

四、工具

除去本書第一章,其他各章節甚至包括附錄,都講到了不少,其中第十六章更是專門講了各種使用者的工具,但個人認為,不同的技術人員需求不同,倒是沒必要所有的工具都去研究(人的精力畢竟是有限的),抓住自己側重的部分進行研究,對個人職業生涯以及對自己所做的工作足夠。

綜上所述:在資料庫設計階段,推薦研發人員多多參考研究的,是第四章、第五章、第六章,如需要分區分表,則參考第七章,但第七章中的其他小結書中作者也表明了會有各種「坑」,不建議使用,比如外來鍵、全文索引(附錄f中講到的sphinx全文搜尋引擎倒是可用)、分布式(xa)事務、查詢快取等。

在dba定位問題方面(當然設計之前,應該對公司資料庫設計提出規範和約束,參考研發設計章節),第五章、第六章、第八章,以及附錄b、附錄d、附錄e,都是最常用的內容,更深入一些的第三章、第九章等內容就相對少用一些了。

以上各階段,都應該考慮到災難時的處理方案。否則一旦問題來了,將會手足無措,其中備份和恢復可以說是最重要的乙個環節,本書不斷提及複製不是備份、主從不是備份,不是所有的備份都是可以恢復的,比如mysqldump命令,加乙個-d,會發現速度很快,但恢復的時候才知道這樣是不能恢復滴,因此本書有些細節還是很有幫助的!

畢竟,本書是作者等一群大咖踩過的無數的「坑」總結來的寶貴經驗。

不總結不知道,一總結嚇一跳,雖然只是快速閱讀,原來,收穫的比自己想象的還要多!

高效能mysql學習筆記

此文已由作者朱笑天授權網易雲社群發布。筆者在工作之餘閱讀了一下高效能mysql,以下的內容對mysql的介紹以及書中涉及一些概念的總結歸納。1.mysql架構 1.最上層負責鏈結處理 認證授權 安全等 2.中間一層涵蓋了mysql的大多數核心功能。包括查詢解析 分析 優化 快取 內建函式 所有的誇儲...

高效能mysql讀書筆記1

譯者序言 本書的定位 系統的從各個方面講述乙個高效能mysq應用應該怎麼做,區別於市面上那些關於mysql開發書籍只是停留在學習mysql基本語句,本書提供了作者一些mysql調優的基準測試從而幫助理解mysql內部的工作機制,本書強調mysql的可用性 準確性以及效能。本書根據mysql5.0穩定...

高效能MYSQL讀書筆記1

一.1 每個 客戶端連線都會在伺服器程序中擁有乙個執行緒,這個連線的查詢只會在這個單獨的執行緒中執行,該執行緒只能輪流在某個cpu核心或者cpu中執行.伺服器會負責快取執行緒,因此不需要為每乙個新建的連線建立或銷毀執行緒.對於select語句,在解析查詢之前,伺服器會先檢查查詢快取,如果能在其中找到...