【區塊鏈平臺】九家智利貨運公司獲准開發聯合區塊鏈平臺
效能問題
這個世界是由問題組成的,理想的狀態和實際狀態之間的差異造成了問題。國家領導解決人民生活幸福的大問題,公司的總經理解決盈利的問題,而本書只想解決MySQL資料庫效能這麼一一個“小問題”。
從某種程度來說,MySQL資料庫效能優化的問題是-一個並行的問題,歸根結底是鎖和資源爭用的問題。
- 資料庫的效能優化首先是計算機系統的優化。資料庫程式是執行在計算機系統上的應用程式,需要先優化的就是計算機系統。也就是說,讓硬體儘量均衡,作業系統充分發揮硬體的全部效能,而資料庫充分利用作業系統和檔案系統提供的便利發揮全部效能,而且避免資源的相互競爭。
- 資料庫的效能優化其次是SQL語句的優化。上層 應用都通過SQL語句與資料庫打交道,一條SQL語句為了獲取資料可以有幾十甚至上百種執行計劃,資料庫會通過優化器選擇更優的SQL執行計劃,但是MySQL在執行計劃上遠遠落後於商業資料庫,甚至在一些方面相比PostgreSQL也差很多,那麼怎麼寫出正確的SQL語句,避免MySQL選擇錯誤的執行計劃,以及怎樣通過增加索引、設定引數讓:MySQL的執行計劃更優,這就是優化SQL語句需要關心的事情。
- 最後,資料庫的效能優化最有效的是架構的優化。對於讀多寫少的應用程式,可以設計為讀寫分離,把允許延遲的讀請求主動分發到備庫;對於秒殺型的業務,可以先在記憶體型key-value儲存系統篩選再發往資料庫持久化,避免對資料庫的衝擊;對於彙總、聚合類的應用,可以採用列式儲存引擎或者專門的大資料平臺;對於監控類的應用,可以採用時序資料庫,等等。
以上三種優化思路貫穿本書,這也是本書名為《千金良方: MySQL效能優化金字塔法則》的緣由。
內容介紹
MySQL的火熱程度有目共睹,如果需要了解MySQL的安裝、啟動、配置等基礎知識,市面上相關的書籍已是汗牛充棟。本書則儘量深入細緻地介紹MySQL的基本原理,以及效能優化的實際案例。
本書既有涉及體系結構、PFS、I S、統計資訊、複製、鎖、InnoDB等基礎知識的鋪墊(其實並不基礎),又有眾多案例詳解,內容豐富、翔實,是難得一見的MySQL效能優化參考書,建議每位DBA以及從事MySQL相關應用開發的讀者都讀一讀。
目錄(本文內容較多,建議大家耐心觀看)
全書一共分為3篇:基礎篇、案例篇和工具篇。
由於篇幅限制小編,小編只在這裡給大家展示目錄及部分內容,有需要完整文件的程式猿(媛)可以幫忙轉發+關注下方公眾號獲取
“基礎篇”
資訊理論認為消除一件事情的不確定性就是獲取足夠多的資訊。我們認為任何優化都可以從瞭解它的基本原理和設計思路開始。
“基礎篇”從理論基礎和基本原理層面介紹了MySQL的安裝與配置、升級和體系結構,information_ schema、 sys_ schema、performance_ schema和mysql_ _schema, MySQL複製,MySQL事務,SQL語句優化及架構設計基礎知識。希望讀者通過對這些內容的學習,能夠深入細緻地瞭解MySQL各方面的基礎知識。
第1章MySQL初始化安裝、簡單安全加固
第2章MySQL常 用的兩種升級方法
第3章MySQL體系結構
第4章performance_ schema初相識
第5章performance schema配置詳解
第6章performance_ schema應用示例薈萃
第7章sys系統庫初相識
第8章sys系統庫配置表
第9章sys系統庫應用示例薈萃
第10章information_ schema初相識
第11章information schema應用示例薈萃
第12章mysq|系統庫之許可權系統表
第13章mysq|系統庫之訪問許可權控制系統
第14章mysq|系統庫之統計資訊表
第15章mysq|系統庫之 複製資訊表
第16章mysq|系統庫之 日誌記錄表
第17章mysq|系統庫應 用示例薈萃
第18章複製技術的演進
第19章事務概念基礎
第20章InnoDB鎖
第21章SQL優化
第22章MySQL讀寫擴充套件
“案例篇”
由於篇幅限制小編,阿里DBA骨幹團隊編寫的792頁MySQL調優筆記的詳解資料太全面,細節內容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節點裡面都有更細化的內容!不會只有大綱和目錄,有需要的程式猿(媛)可以幫忙轉發+關注,後臺私信【學習】或【資料】獲取
計算機是種實驗的科學,效能優化 是實戰的藝術。
"案例篇”從硬體和系統、MySQL架構等方面給出了效能優化的十幾個案例,包括:效能測試的基本優化思路和最需要關注的效能指標解釋、對日常SQL語句執行慢的基本定位、避免x86可用性的一般性方法、節能模式會怎樣影響效能、IO儲存作為資料庫最重要的依賴是如何影響資料庫效能的、主備複製不一致可能有哪些原因、字符集不一致會造成哪些效能問題、在實際場景中鎖的爭用是怎樣的。希望讀者通過這些案例,可以深入細緻地理解“基礎篇”中的各種概念,融會貫通,對MySQL有一個全面的、系統的掌握。
第23章效能測試指標和相關術語
第24章歷史問題診斷和現場故障分析
第25章效能調優金字塔
第26章SQL語句執行慢真假難辨
第27章如何避免三天兩頭換硬碟、 記憶體、主機板
第28章每隔45天的MySQL效能低谷
第29章MySQL連線無法自動釋放
第30章查詢MySQL偶爾比較慢
第31章MySQL 最多隻允許214個連線
第32章MySQL掛起診斷思路
第33章硬體和系統調優
第34章併發刪除資料造成死鎖
第35章刪除不存在的資料造成死鎖
第36章插入意向鎖死鎖
第37章分頁查詢優化
第38章子查詢優化——子查詢轉換為連線
第39章子查詢優化——使用delete刪除資料
“工具篇”
“工欲善其事,必先利其器。”我們日常需要藉助-些工具來做效能優化。
“工具篇”介紹了在MySQL效能優化過程中需要用到的各種工具,包括: dmidecode、 top、 dstat等 硬體和系統排查工具;FIO、sysbench、 HammerDB 等壓力測試工具; mysqldump、 XtraBackup等備份工具; Percona、 innotop、 Prometheus等監控工具。希望讀者可以藉助更多自動化的方式去驗證和評估效能優化解決方案,提升效能。
第40章硬體規格常用檢視命令詳解
第41章系統負載常用檢視命令詳解
第42章FIO儲存效能壓測
第43章HammerDB線上事務處理測試
第44章sysbench資料庫壓測工具
第45章mysqladmin和innotop: I具詳解
第46章利用Prometheus + Grafana搭建炫酷的MySQL監控平臺
第47章Percona Toolkit常用工具詳解
第48章MySQL主流備份工 具之mysqldump詳解
第49章MySQL 主流備份工具之XtraBackup詳解
第50章MySQL主流備份工 具之mydumper詳解
第51章MySQL主流閃回工 具詳解
讀者物件
- MySQL初學者。建議按照順序從本書的“基礎篇"開始閱讀。“基礎篇"介紹了從安裝部署、基礎配置到效能診斷等日常工作需要了解的內容。在熟悉了MySQL的基本概念和大致原理以後,在閱讀"案例篇”時,對問題的定義和解決方案才能理解得更加透徹。最後在閱讀“工具篇”時,也可以學習到MySQL DBA日常工作所需工具的使用方法和應用場景。
- 專門從事MySQL工作1~3年的開發人員和運維人員。對於有一些MySQL開發和運維經驗的人員,建議先跳過“基礎篇”,直接從“案例篇"開始閱讀。在“案例篇”中瞭解了具體的問題現象、故障處理的過程和方法以後,聯絡案例中對應的“基礎篇"和“工具篇"知識進行閱讀,這樣能幫助你把很多知識點串聯起來,由點到面形成更為全面的MySQL知識體系。
- 資深的MySQL DBA。 本書可以作為案頭書,在解決問題時,如果記不清某些概念或者細節比較模糊,則可以拿來參考。
領取文章中的792頁阿里DBA骨幹團隊編寫的MySQL調優筆記,只需要:
——對文章將進行轉發+評論,關注下方公眾號100%免費領取。