高效能MySQL:提升MySQL性能的技術與技巧
趙利通 譯
出版時間:2023年11月
頁數(shù):291
“Daniel很好地講解了如何以最快速的方式找到解決方案,而不是在猜測中迷失方向。他還以詳盡、易懂的方式介紹了InnoDB行鎖?!?br />
——Vadim Tkachenko
Percona的CTO
“ 本書獨樹一幟,關注最重要的方面——查詢響應時間。本書是MySQL用戶案頭必備的寶典!”
——Frédéric Descamps
Oracle Belgium的MySQL社區(qū)管理者
目前既有介紹MySQL性能基礎知識的圖書,也有介紹MySQL性能高級知識的圖書,但還沒有介于兩者之間的圖書。這是因為,不介紹MySQL性能的復雜性,就很難解釋MySQL性能。而本書填補了這個空白,向軟件工程師講解超出基礎知識,但又遠沒到數(shù)據(jù)庫管理員(DBA)需要知道的深層內(nèi)部原理的中級MySQL知識。
Daniel Nichter將教你應用直接影響MySQL性能的最佳實踐和技術,通過分析查詢執(zhí)行、為常用的SQL子句和表連接創(chuàng)建索引、優(yōu)化數(shù)據(jù)訪問、理解最重要的MySQL指標來提高性能,并了解復制、事務、行鎖和云對MySQL性能所產(chǎn)生的影響。
通過學習本書,你將:
● 理解為什么查詢響應時間是MySQL性能的北極星。
● 詳細學習查詢指標,包括聚合、報告和分析。
● 了解如何為常用的SQL子句和表連接創(chuàng)建有效的索引。
● 探索最重要的服務器指標,并了解它們揭示了性能的哪些信息。
● 深入了解事務和行鎖,以獲得深入、可操作的洞見。
● 在任意規(guī)模都能實現(xiàn)出色的MySQL性能。
- 前言
- 第1章 查詢響應時間
- 1.1 假性能的一個真故事
- 1.2 北極星
- 1.3 查詢報告
- 1.4 查詢分析
- 1.5 改進查詢響應時間
- 1.6 何時優(yōu)化查詢
- 1.7 MySQL:更快一點
- 1.8 小結
- 1.9 練習:識別慢查詢
- 第2章 索引和編制索引
- 2.1 性能的紅鯡魚
- 2.2 MySQL索引:通過圖示介紹
- 2.3 編制索引:如何像MySQL一樣思考
- 2.4 索引降級的常見原因
- 2.5 表連接算法
- 2.6 小結
- 2.7 練習:找到重復的索引
- 第3章 數(shù)據(jù)
- 3.1 三個秘密
- 3.2 最少數(shù)據(jù)原則
- 3.3 刪除或歸檔數(shù)據(jù)
- 3.4 小結
- 3.5 練習:審查查詢的數(shù)據(jù)訪問情況
- 第4章 訪問模式
- 4.1 MySQL什么都不做
- 4.2 性能在極限位置變得不穩(wěn)定
- 4.3 豐田和法拉利
- 4.4 數(shù)據(jù)訪問模式
- 4.5 應用程序修改
- 4.6 更好、更快的硬件
- 4.7 小結
- 4.8 練習:描述訪問模式
- 第5章 分片
- 5.1 為什么單個數(shù)據(jù)庫不能伸縮
- 5.2 小鵝卵石而不是巨石
- 5.3 分片簡介
- 5.4 替代選項
- 5.5 小結
- 5.6 練習:四年擬合
- 第6章 服務器指標
- 6.1 查詢性能與服務器性能對比
- 6.2 正常且穩(wěn)定:最好的數(shù)據(jù)庫是枯燥的數(shù)據(jù)庫
- 6.3 關鍵性能指示器
- 6.4 指標領域
- 6.5 光譜
- 6.6 監(jiān)控和警報
- 6.7 小結
- 6.8 練習:檢查關鍵性能指示器
- 6.9 練習:檢查警報和閾值
- 第7章 復制延遲
- 7.1 基礎
- 7.2 原因
- 7.3 風險:數(shù)據(jù)丟失
- 7.4 降低延遲:多線程復制
- 7.5 監(jiān)控
- 7.6 恢復時間
- 7.7 小結
- 7.8 練習:監(jiān)控次秒級延遲
- 第8章 事務
- 8.1 行鎖
- 8.2 MVCC和回滾日志
- 8.3 歷史列表長度
- 8.4 常見問題
- 8.5 報告
- 8.6 小結
- 8.7 練習:對歷史列表長度發(fā)出警報
- 8.8 練習:檢查行鎖
- 第9章 其他挑戰(zhàn)
- 9.1 腦裂是最大的風險
- 9.2 數(shù)據(jù)漂移真實存在但不可見
- 9.3 不要信任ORM
- 9.4 模式總會改變
- 9.5 MySQL擴展了標準SQL
- 9.6 吵鬧的鄰居
- 9.7 應用程序不會優(yōu)雅地失敗
- 9.8 高性能MySQL很難
- 9.9 練習:識別阻止發(fā)生腦裂的防護措施
- 9.10 練習:檢查數(shù)據(jù)漂移
- 9.11 練習:混沌
- 第10章 云中的MySQL
- 10.1 兼容性
- 10.2 管理
- 10.3 網(wǎng)絡和存儲時延
- 10.4 性能就是金錢
- 10.5 小結
- 10.6 練習:在云中試用MySQL
書名:高效能MySQL:提升MySQL性能的技術與技巧
譯者:趙利通 譯
國內(nèi)出版社:機械工業(yè)出版社
出版時間:2023年11月
頁數(shù):291
書號:978-7-111-73793-3
原版書書名:Efficient MySQL Performance
原版書出版商:O'Reilly Media
Daniel Nichter
Daniel Nichter目前在Square(一家金融科技公司,擁有幾千個MySQL服務器)擔任DBA和軟件工程師,擁有超過15年的MySQL管理和使用經(jīng)驗以及MySQL性能優(yōu)化經(jīng)驗。Daniel最為人熟知的地方是他在Percona就職的8年間發(fā)布的工具,其中一些仍然是事實上的標準,被世界上一些大型技術公司使用。他還是MySQL Community Award獲獎者、會議發(fā)言人和多個領域的開源貢獻者。