注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫SQL Sever高性能MySQL(第3版)

高性能MySQL(第3版)

高性能MySQL(第3版)

定 價:¥128.00

作 者: (美)施瓦茨(Schwartz,B.)(美)扎伊采夫(Zaitsev,P.)(美)特卡琴科(Tkachenko,V.)著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 數據庫 計算機與互聯網

ISBN: 9787121198854 出版時間: 2013-05-01 包裝: 平裝
開本: 16 頁數: 804 字數:  

內容簡介

  《高性能MySQL(第3版)》是MySQL領域的經典之作,擁有廣泛的影響力。第3版更新了大量的內容,不但涵蓋了最新MySQL5.5版本的新特性,也講述了關于固態(tài)盤、高可擴展性設計和云計算環(huán)境下的數據庫相關的新內容,原有的基準測試和性能優(yōu)化部分也做了大量的擴展和補充?!陡咝阅躆ySQL(第3版)》共分為16章和6個附錄,內容涵蓋MySQL架構和歷史,基準測試和性能剖析,數據庫軟硬件性能優(yōu)化,復制、備份和恢復,高可用與高可擴展性,以及云端的MySQL和MySQL相關工具等方面的內容。每一章都是相對獨立的主題,讀者可以有選擇性地單獨閱讀?!陡咝阅躆ySQL(第3版)》不但適合數據庫管理員(DBA)閱讀,也適合開發(fā)人員參考學習。不管是數據庫新手還是專家,相信都能從《高性能MySQL(第3版)》有所收獲。

作者簡介

暫缺《高性能MySQL(第3版)》作者簡介

圖書目錄

推薦序....................................................................... xxiii 前言............................................................................xxv 第1 章 MySQL 架構與歷史 ............................................ 1 1.1 MySQL 邏輯架構............................................................................................1 1.1.1 連接管理與安全性.................................................................................2 1.1.2 優(yōu)化與執(zhí)行............................................................................................3 1.2 并發(fā)控制.........................................................................................................3 1.2.1 讀寫鎖...................................................................................................4 1.2.2 鎖粒度...................................................................................................4 1.3 事務.................................................................................................................6 1.3.1 隔離級別...............................................................................................8 1.3.2 死鎖.......................................................................................................9 1.3.3 事務日志.............................................................................................10 1.3.4 MySQL 中的事務................................................................................10 1.4 多版本并發(fā)控制 ............................................................................................12 1.5 MySQL 的存儲引擎......................................................................................13 1.5.1 InnoDB 存儲引擎................................................................................16 1.5.2 MyISAM 存儲引擎..............................................................................17 1.5.3 MySQL 內建的其他存儲引擎..............................................................19 1.5.4 第三方存儲引擎..................................................................................22 1.5.5 選擇合適的引擎..................................................................................24 1.5.6 轉換表的引擎......................................................................................27 1.6 MySQL 時間線(Timeline)..........................................................................29 1.7 MySQL 的開發(fā)模式......................................................................................32 1.8 總結...............................................................................................................33 第2 章 MySQL 基準測試 ............................................. 35 2.1 為什么需要基準測試....................................................................................35 2.2 基準測試的策略 ............................................................................................37 2.2.1 測試何種指標......................................................................................38 2.3 基準測試方法................................................................................................40 2.3.1 設計和規(guī)劃基準測試...........................................................................41 2.3.2 基準測試應該運行多長時間................................................................42 2.3.3 獲取系統(tǒng)性能和狀態(tài) ...........................................................................43 2.3.4 獲得準確的測試結果...........................................................................44 2.3.5 運行基準測試并分析結果...................................................................46 2.3.6 繪圖的重要性......................................................................................47 2.4 基準測試工具................................................................................................49 2.4.1 集成式測試工具..................................................................................49 2.4.2 單組件式測試工具...............................................................................50 2.5 基準測試案例................................................................................................52 2.5.1 http_load ..............................................................................................53 2.5.2 MySQL 基準測試套件.........................................................................54 2.5.3 sysbench ..............................................................................................55 2.5.4 數據庫測試套件中的dbt2 TPC-C 測試 ...............................................60 2.5.5 Percona 的TPCC-MySQL 測試工具 ....................................................63 2.6 總結 ...............................................................................................................65 第3 章 服務器性能剖析............................................... 67 3.1 性能優(yōu)化簡介................................................................................................67 3.1.1 通過性能剖析進行優(yōu)化.......................................................................69 3.1.2 理解性能剖析......................................................................................71 3.2 對應用程序進行性能剖析.............................................................................72 3.2.1 測量PHP 應用程序.............................................................................74 3.3 剖析MySQL 查詢.........................................................................................77 3.3.1 剖析服務器負載..................................................................................77 3.3.2 剖析單條查詢......................................................................................81 3.3.3 使用性能剖析......................................................................................87 3.4 診斷間歇性問題............................................................................................88 3.4.1 單條查詢問題還是服務器問題............................................................89 3.4.2 捕獲診斷數據 ......................................................................................93 3.4.3 一個診斷案例......................................................................................98 3.5 其他剖析工具.............................................................................................. 106 3.5.1 使用USER_STATISTICS 表 ............................................................. 106 3.5.2 使用strace ......................................................................................... 107 3.6 總結 ............................................................................................................. 108 第4 章 Schema 與數據類型優(yōu)化 ................................ 111 4.1 選擇優(yōu)化的數據類型.................................................................................. 111 4.1.1 整數類型........................................................................................... 113 4.1.2 實數類型........................................................................................... 113 4.1.3 字符串類型........................................................................................ 114 4.1.4 日期和時間類型................................................................................ 121 4.1.5 位數據類型........................................................................................ 123 4.1.6 選擇標識符(identifier).................................................................... 125 4.1.7 特殊類型數據.................................................................................... 127 4.2 MySQL schema 設計中的陷阱.................................................................... 127 4.3 范式和反范式.............................................................................................. 129 4.3.1 范式的優(yōu)點和缺點............................................................................. 130 4.3.2 反范式的優(yōu)點和缺點......................................................................... 130 4.3.3 混用范式化和反范式化..................................................................... 131 4.4 緩存表和匯總表.......................................................................................... 132 4.4.1 物化視圖........................................................................................... 134 4.4.2 計數器表........................................................................................... 135 4.5 加快ALTER TABLE 操作的速度 ............................................................... 136 4.5.1 只修改.frm 文件............................................................................... 137 4.5.2 快速創(chuàng)建MyISAM 索引 .................................................................... 139 4.6 總結............................................................................................................. 140 第5 章 創(chuàng)建高性能的索引.......................................... 141 5.1 索引基礎..................................................................................................... 141 5.1.1 索引的類型........................................................................................ 142 5.2 索引的優(yōu)點................................................................................................. 152 5.3 高性能的索引策略...................................................................................... 153 5.3.1 獨立的列........................................................................................... 153 5.3.2 前綴索引和索引選擇性 ..................................................................... 153 5.3.3 多列索引........................................................................................... 157 5.3.4 選擇合適的索引列順序..................................................................... 159 5.3.5 聚簇索引........................................................................................... 162 5.3.6 覆蓋索引........................................................................................... 171 5.3.7 使用索引掃描來做排序 ..................................................................... 175 5.3.8 壓縮(前綴壓縮)索引..................................................................... 177 5.3.9 冗余和重復索引................................................................................ 178 5.3.10 未使用的索引.................................................................................. 181 5.3.11 索引和鎖.......................................................................................... 181 5.4 索引案例學習.............................................................................................. 183 5.4.1 支持多種過濾條件............................................................................. 183 5.4.2 避免多個范圍條件............................................................................. 185 5.4.3 優(yōu)化排序........................................................................................... 186 5.5 維護索引和表.............................................................................................. 187 5.5.1 找到并修復損壞的表......................................................................... 187 5.5.2 更新索引統(tǒng)計信息............................................................................. 188 5.5.3 減少索引和數據的碎片..................................................................... 190 5.6 總結 ............................................................................................................. 192 第6 章 查詢性能優(yōu)化................................................. 195 6.1 為什么查詢速度會慢.................................................................................. 195 6.2 慢查詢基礎:優(yōu)化數據訪問....................................................................... 196 6.2.1 是否向數據庫請求了不需要的數據.................................................. 196 6.2.2 MySQL 是否在掃描額外的記錄........................................................ 198 6.3 重構查詢的方式.......................................................................................... 201 6.3.1 一個復雜查詢還是多個簡單查詢...................................................... 201 6.3.2 切分查詢........................................................................................... 202 6.3.3 分解關聯查詢.................................................................................... 203 6.4 查詢執(zhí)行的基礎.......................................................................................... 204 6.4.1 MySQL 客戶端/ 服務器通信協(xié)議 ..................................................... 205 6.4.2 查詢緩存........................................................................................... 208 6.4.3 查詢優(yōu)化處理.................................................................................... 208 6.4.4 查詢執(zhí)行引擎.................................................................................... 222 6.4.5 返回結果給客戶端............................................................................. 223 6.5 MySQL 查詢優(yōu)化器的局限性..................................................................... 223 6.5.1 關聯子查詢........................................................................................ 223 6.5.2 UNION 的限制.................................................................................. 228 6.5.3 索引合并優(yōu)化.................................................................................... 228 6.5.4 等值傳遞........................................................................................... 229 6.5.5 并行執(zhí)行 ........................................................................................... 229 6.5.6 哈希關聯........................................................................................... 229 6.5.7 松散索引掃描.................................................................................... 229 6.5.8 最大值和最小值優(yōu)化......................................................................... 231 6.5.9 在同一個表上查詢和更新................................................................. 232 6.6 查詢優(yōu)化器的提示(hint) ........................................................................... 232 6.7 優(yōu)化特定類型的查詢.................................................................................. 236 6.7.1 優(yōu)化COUNT() 查詢 .......................................................................... 236 6.7.2 優(yōu)化關聯查詢.................................................................................... 239 6.7.3 優(yōu)化子查詢........................................................................................ 239 6.7.4 優(yōu)化GROUP BY 和DISTINCT ........................................................ 239 6.7.5 優(yōu)化LIMIT 分頁............................................................................... 241 6.7.6 優(yōu)化SQL_CALC_FOUND_ROWS ................................................... 243 6.7.7 優(yōu)化UNION 查詢.............................................................................. 243 6.7.8 靜態(tài)查詢分析.................................................................................... 244 6.7.9 使用用戶自定義變量......................................................................... 244 6.8 案例學習..................................................................................................... 251 6.8.1 使用MySQL 構建一個隊列表 ........................................................... 251 6.8.2 計算兩點之間的距離......................................................................... 254 6.8.3 使用用戶自定義函數......................................................................... 257 6.9 總結............................................................................................................. 258 第7 章 MySQL 高級特性 ........................................... 259 7.1 分區(qū)表......................................................................................................... 259 7.1.1 分區(qū)表的原理.................................................................................... 260 7.1.2 分區(qū)表的類型.................................................................................... 261 7.1.3 如何使用分區(qū)表................................................................................ 262 7.1.4 什么情況下會出問題......................................................................... 263 7.1.5 查詢優(yōu)化........................................................................................... 266 7.1.6 合并表............................................................................................... 267 7.2 視圖............................................................................................................. 270 7.2.1 可更新視圖........................................................................................ 272 7.2.2 視圖對性能的影響............................................................................. 273 7.2.3 視圖的限制........................................................................................ 274 7.3 外鍵約束..................................................................................................... 275 7.4 在MySQL 內部存儲代碼............................................................................ 276 7.4.1 存儲過程和函數................................................................................ 278 7.4.2 觸發(fā)器............................................................................................... 279 7.4.3 事件................................................................................................... 281 7.4.4 在存儲程序中保留注釋..................................................................... 283 7.5 游標............................................................................................................. 283 7.6 綁定變量..................................................................................................... 284 7.6.1 綁定變量的優(yōu)化................................................................................ 286 7.6.2 SQL 接口的綁定變量........................................................................ 286 7.6.3 綁定變量的限制................................................................................ 288 7.7 用戶自定義函數.......................................................................................... 289 7.8 插件............................................................................................................. 290 7.9 字符集和校對.............................................................................................. 291 7.9.1 MySQL 如何使用字符集................................................................... 292 7.9.2 選擇字符集和校對規(guī)則..................................................................... 295 7.9.3 字符集和校對規(guī)則如何影響查詢...................................................... 296 7.10 全文索引................................................................................................... 299 7.10.1 自然語言的全文索引....................................................................... 300 7.10.2 布爾全文索引.................................................................................. 302 7.10.3 MySQL5.1 中全文索引的變化......................................................... 303 7.10.4 全文索引的限制和替代方案............................................................ 304 7.10.5 全文索引的配置和優(yōu)化................................................................... 306 7.11 分布式(XA)事務 ................................................................................... 307 7.11.1 內部XA 事務.................................................................................. 307 7.11.2 外部XA 事務 .................................................................................. 308 7.12 查詢緩存................................................................................................... 309 7.12.1 MySQL 如何判斷緩存命中............................................................. 309 7.12.2 查詢緩存如何使用內存 ................................................................... 311 7.12.3 什么情況下查詢緩存能發(fā)揮作用.................................................... 313 7.12.4 如何配置和維護查詢緩存............................................................... 316 7.12.5 InnoDB 和查詢緩存......................................................................... 319 7.12.6 通用查詢緩存優(yōu)化........................................................................... 320 7.12.7 查詢緩存的替代方案....................................................................... 321 7.13 總結........................................................................................................... 321 第8 章 優(yōu)化服務器設置............................................. 325 8.1 MySQL 配置的工作原理............................................................................. 326 8.1.1 語法、作用域和動態(tài)性..................................................................... 327 8.1.2 設置變量的副作用............................................................................. 328 8.1.3 入門 ................................................................................................... 331 8.1.4 通過基準測試迭代優(yōu)化..................................................................... 332 8.2 什么不該做................................................................................................. 333 8.3 創(chuàng)建MySQL 配置文件............................................................................... 335 8.3.1 檢查MySQL 服務器狀態(tài)變量 ........................................................... 339 8.4 配置內存使用.............................................................................................. 340 8.4.1 MySQL 可以使用多少內存?............................................................ 340 8.4.2 每個連接需要的內存......................................................................... 341 8.4.3 為操作系統(tǒng)保留內存......................................................................... 341 8.4.4 為緩存分配內存................................................................................ 342 8.4.5 InnoDB 緩沖池(Buffer Pool) .......................................................... 342 8.4.6 MyISAM 鍵緩存(Key Caches) ........................................................ 344 8.4.7 線程緩存........................................................................................... 346 8.4.8 表緩存(Table Cache) ....................................................................... 347 8.4.9 InnoDB 數據字典(Data Dictionary)................................................ 348 8.5 配置MySQL 的I/O 行為............................................................................ 349 8.5.1 InnoDB I/O 配置................................................................................ 349 8.5.2 MyISAM 的I/O 配置......................................................................... 361 8.6 配置MySQL 并發(fā) ....................................................................................... 363 8.6.1 InnoDB 并發(fā)配置.............................................................................. 364 8.6.2 MyISAM 并發(fā)配置............................................................................ 365 8.7 基于工作負載的配置.................................................................................. 366 8.7.1 優(yōu)化BLOB 和TEXT 的場景............................................................. 367 8.7.2 優(yōu)化排序(Filesorts)......................................................................... 368 8.8 完成基本配置.............................................................................................. 369 8.9 安全和穩(wěn)定的設置...................................................................................... 371 8.10 高級InnoDB 設置..................................................................................... 374 8.11 總結........................................................................................................... 376 第9 章 操作系統(tǒng)和硬件優(yōu)化....................................... 377 9.1 什么限制了MySQL 的性能........................................................................ 377 9.2 如何為MySQL 選擇CPU ........................................................................... 378 9.2.1 哪個更好:更快的CPU 還是更多的CPU......................................... 378 9.2.2 CPU 架構........................................................................................... 380 9.2.3 擴展到多個CPU 和核心 ................................................................... 381 9.3 平衡內存和磁盤資源 .................................................................................. 382 9.3.1 隨機I/O 和順序I/O ........................................................................... 383 9.3.2 緩存,讀和寫.................................................................................... 384 9.3.3 工作集是什么.................................................................................... 385 9.3.4 找到有效的內存/ 磁盤比例 .............................................................. 386 9.3.5 選擇硬盤........................................................................................... 387 9.4 固態(tài)存儲..................................................................................................... 389 9.4.1 閃存概述........................................................................................... 390 9.4.2 閃存技術........................................................................................... 391 9.4.3 閃存的基準測試................................................................................ 392 9.4.4 固態(tài)硬盤驅動器(SSD
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號