深入理解 MariaDB 與 MySQL

深入理解 MariaDB 與 MySQL

作者: [韓]李成旭
出版社: 人民郵電
出版在: 2015-12-01
ISBN-13: 9787115409089
ISBN-10: 7115409080
裝訂格式: 平裝
總頁數: 444 頁




內容描述


<內容簡介>
本書講解了MariaDB的誕生背景及設計目的,並通過與MySQL的比較使讀者輕鬆理解MariaDB。本書內容涉及MariaDB 5.1~10.0的各個方面,講解重點在於MariaDB 10.0的各種實用功能。此外,MariaDB與MySQL有著緊密的聯繫,書中對MariaDB 10.0與MySQL 5.6的新功能進行了比較,讀者可以同時學習MariaDB與MySQL的內容。

<作者簡介>
李成旭
計算機工程專業,曾擔任金融企業CRM/DW項目負責人,用兩年多時間推進針對DW的ETL解決方案的開發。擔任NHN的DBA時,負責標準化與數據建模、DB運營和技術標桿管理。目前在Kakao公司(韓國即時通信軟件運營商)負責MariaDB的升級和構建所需的代碼安全及標桿管理工作。著有《PHP 5 Web編程》《MySQL性能優化》。

<目錄>
第1章1 MariaDB
MariaDB 1.1 2
1.2 3
MariaDB與MySQL的1.2.1 MariaDB中,MySQL和PerconaServer 3
1.2.2相同點6
1.2.3不同點7
1.2.4各版本間的兼容性10
1.2.5性能比較11
MariaDB 1.2.6是否會取代MySQL的14
1.2.7
MariaDB的MySQL與的選擇14第2章安裝17
18
2.1下載安裝2.2 20
2.2.1在的Windows操作系統下安裝21 MariaDB
2.2.2在Linux的操作系統下安裝MariaDB 27
2.3更新28
2.3.1從MySQL的MariaDB升級到時的註意事項28
2.3.2不受版本限制的安全升級法29
2.3.3從MySQL的5.0或之前版本升級為MariaDB 5.5 30
2.3.4從5.1升級為MariaDB 5.5 31
2.3.5從MySQL 5.5升級為MariaDB 5.5 32
第3章MariaDB啟動及執行查詢33
3.1啟動與終止服務器MariaDB MySQL 34
3.1.1在Linux中啟動與終止MariaDB服務器34
3.1.2在Windows系統中啟動與終止MariaDB服務器36
3.2登錄服務器MariaDB MySQL 37
3.2.1登錄服務器與版本確認37
3.2.2 mysql客戶端程序支持的選項39
3.3創建數據庫與用戶MariaDB MySQL 41
3.3.1 MariaDB用戶賬戶識別與權限41
3.3.2 MariaDB默認用戶47
3.3.3 MariaDB的默認數據庫48
3.3.4新建數據庫50
3.3.5創建用戶50
3.4創建與修改數據表MariaDB MySQL 51
3.4.1創建數據表52
3.4.2修改數據表(在線與離線) 53
3.4.3刪除數據表66
3.5數據操作MariaDB MySQL 67
3.5.1 INSERT 67
3.5.2 SELECT 68
3.5.3 UPDATE 70
3.5.4 REPLACE 71
3.5.5 DELETE 71
第4章執行計劃分析73
4.1概要MariaDB MySQL 74
4.1.1查詢執行過程74
4.1.2優化器種類75
4.1.3統計信息76
4.1.4直方圖統計信息MariaDB 82
4.1.5連接優化器選項87
4.2準備示例數據92
4.2.1加載示例數據92
4.2.2收集統計信息94
4.3執行計劃分析MariaDB MySQL 96
4.3.1 id列97
4.3.2 select_type列98
4.3.3 table列106
4.3.4 type列108
4.3.5 possible_keys列117
4.3.6 key列117
4.3.7 key_len列117
4.3.8 ref列119
4.3.9 rows列120
4.3.10 Extra列121
4.3.11 EXPLAIN EXTENDED(Filtered列) 149
4.3.12 EXPLAIN EXTENDED(附加優化器信息) 150
4.3.13 EXPLAIN PARTITIONS(Partitions列) 151
4.4優化器提示MariaDB MySQL 152
4.4.1提示的使用方法152
4.4.2 STRAIGHT_JOIN 153
4.4.3 USE INDEX/FORCE INDEX/IGNORE INDEX 156
4.4.4 SQL_CACHE/SQL_NO_CACHE 157
4.4.5 SQL_CALC_FOUND_ROWS 158
4.4.6其他提示160
4.5分析執行計劃時的註意事項160
4.5.1 Select_type列中需要註意的項目160
4.5.2 Type列中需要註意的項目161
4.5.3 Key列中需要註意的項目161
4.5 .4 Rows列中需要註意的項目161
4.5.5 Extra列中需要註意的項目161
第5章優化163
5.1全表掃描MariaDB MySQL 164
5.2 ORDER BY處理(Using filesort)MariaDB MySQL 165
5.2.1排序緩衝165
5.2.2排序算法167
5.2.3排序處理方式169
5.2.4 ORDER BY LIMIT n ​​優化MySQL 177
5.2.5與排序相關的狀態變量178
5.3 GROUP BY處理MariaDB MySQL 179
5.3.1使用索引掃描處理GROUP BY(緊湊索引掃描) 179
5.3.2使用鬆散索引掃描處理GROUP BY 179
5.3.3使用臨時表處理GROUP BY 181
5.4 DISTINCT處理MariaDB MySQL 182
5.4.1 SELECT DISTINCT… 182
5.4.2 DISTINCT用於集合函數內部183
5.5臨時表(Using temporary)MariaDB MySQL 184
5.5.1需要使用臨時表的查詢185
5.5.2在磁盤上創建臨時表(使用Aria存儲引擎)MariaDB 185
5.5.3與臨時表有關的狀態變量186
5.5.4帶索引的內部臨時表187
5.5.5內部臨時表的註意事項187
5.6索引條件下推MariaDB MySQL 188
5.7多範圍讀MariaDB MySQL 191
5.7.1基於RowId排序(Rowid-orderd scan) 192
5.7.2基於Key排序(Key-ordered scan)MariaDB 194
5.7.3基於Key與RowId排序(Key-ordered、Rowid-ordered scan)MariaDB 195
5.7.4 “多範圍讀”優化與排序197
5.7.5 “多範圍讀”優化的註意事項198
5.8索引合併MariaDB MySQL 199
5.8.1 Using union 201
5.8.2 Using sort_union 202
5.8.3 Using intersect 204
5.8.4 Using sort_intersect MariaDB 205
5.9數據表連接MariaDB MySQL 205
5.9.1連接類型206
5.9. 2連接算法212
5.9.3連接的註意事項222
5.10子查詢MariaDB MySQL 224
5.10.1半連接子查詢優化224
5.10.2非半連接的子查詢優化236
5.10.3子查詢緩存238
第6章存儲引擎241
6.1 Aria存儲引擎MariaDB 242
6.1.1事務242
6.1.2頁面緩存243
6.1.3系統變量設置243
6.2 XtraDB存儲引擎MariaDB 244
6.3 InnoDB存儲引擎MariaDB MySQL 247
6.3.1 MySQL 5.6 InnoDB 247
6.3.2 “臟頁”刷新262
6.3.3緩衝池性能改善MariaDB 279
6.3.4原子寫(針對FusionIO SSD的Atomic write)MariaDB 283
6.3.5擴展的InnoDB引擎狀態輸出MariaDB 284
6.3.6 XtraDB重做日誌存盤288
6.3. 7跟蹤修改頁面MariaDB 289
6.4全文檢索引擎MariaDB MySQL 290
6.4.1添加全文檢索索引290
6.4.2全文檢索索引表空間292
6.4.3與全文檢索索引相關的INFORMATION_SCHEMA信息294
6.4.4使用全文檢索索引295
6.4.5註意事項295
6.5 Memcached插件MySQL 298
6.5.1架構298
6.5.2安裝與測試299
6.5.3緩存策略303
6.5.4註冊用戶數據表304
6.5.5相關係統變量305
6.6 Cassandra存儲引擎MariaDB 306
6.6.1 Cassandra 307
6.6.2 Cassandra存儲引擎309
6.7 CONNECT存儲引擎MariaDB 311
6.7.1安裝CONNECT存儲引擎311
6.7.2連接Oracle RDBMS數據表312
6.7.3連接my.cnf設置文件313
6.7.4連接操作系統目錄314
6.8 Sequence存儲引擎MariaDB 315
6.8.1 Sequence存儲引擎的基本用法315
6.8.2查找遺漏的編號317
6.8.3創建順序組合的號碼對318
6.8.4查找倍數或公倍數318
6.8.5順序生成字母表319
6.8.6順序生成日期320
6.8.7數據複製加工320
6.9 Mroonga全文檢索存儲引擎MariaDB MySQL 321
6.9.1索引算法322
6.9.2安裝Mroonga全文檢索引擎324
6.9.3使用Mroonga全文檢索引擎325
第7章其他功能329
7.1性能提升MariaDB MySQL Enterprise 330
7.2管理與診斷MariaDB 335
7.2.1 SHOW EXPLAIN FOR 335
7.2.2向慢查詢日誌輸出執行計劃337
7.2.3輸出結構化的執行計劃338
7.2.4線程的內存使用量340
7.2.5 SHUTDOWN命令341
7.2.6強制終止用戶或查詢執行341
7.2.7 GET DIAGNOSTICS 343
7.3開發效率MariaDB 344
7.3.1 LIMIT ROWS EXAMINED 344
7.3.2 DELETE…RETURNING… 346
7.3. 3以微秒為單位保存時間347
7.3.4設置DATETIME類型的默認值349
7.3.5擴展正則表達式功能349
7.3.6虛擬列352
7.3.7動態列354
7.4分區MariaDB MySQL 358
7.4.1顯式指定分區358
7.4.2交換分區表空間362
7.5備份MariaDB MySQL 364
7.5.1二進制日誌遠程備份365
7.5.2 XtraBackup介紹368
7.5.3 XtraBackup的功能381
7.5.4 XtraBackup的高級用法386
第8章複製397
8.1全局事務IDMariaDB MySQL 398
8.1.1全局事務ID的定義398
8.1.2全局事務ID的必要性400
8.1.3 MariaDB 10.0全局事務ID MariaDB 403
8.1.4 MySQL 5.6全局事務ID MySQL 413
8.2多源複製MariaDB 421
8.2.1多源複製相關命令422
8.2.2構建多源複製423
8.2.3多源複製與全局事務426
8.3多線程複製MariaDB MySQL 428
8.3.1 MySQL 5.6的多線程複製428
8.3.2 MariaDB 10.0的多線程複製431
8.4 Crash safe slave MariaDB MySQL 433
8.4.1 MariaDB 10.0的崩潰安全複製434
8.4.2 MySQL 5.6的崩潰安全複製435
8.5改善基於ROW的複制功能MariaDB MySQL 435
8.5.1 ROW格式的容量優化MySQL 435
8.5.2 ROW格式二進制日誌的信息性 ​​日誌事件436
8.6延遲複製MySQL 439
8.7 MariaDB與MySQL服務器間的複制440
8.8其他功能改善MariaDB MySQL 441
8.8.1二進制日誌校驗和441
8.8.2二進制日誌API 442
8.8.3提交二進制日誌組443




相關書籍

你也能做出 Google:用 Elasticsearch 搭建叢集搜索引擎

作者 牛冬

2015-12-01

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

作者 Luc Perkins Eric Redmond Jim Wilson

2015-12-01

Database Reliability Engineering: Designing and Operating Resilient Database Systems

作者 Laine Campbell Charity Majors

2015-12-01