
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學習交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
《Effective MySQL之SQL語句最優(yōu)化》是由MySQL專家Ronald Bradford撰著,書中提供了很多可以用于改進數(shù)據(jù)庫和應(yīng)用程序性能的最佳實踐技巧,并對這些技巧做了詳細的解釋。本書希望能夠通過一步步詳細介紹SQL優(yōu)化的方法,幫助讀者分析和調(diào)優(yōu)有問題的SQL語句。
主要內(nèi)容
● 找出收集和診斷問題必備的分析命令
● 創(chuàng)建MySQL索引來改進查詢性能
● 掌握MySQL的查詢執(zhí)行計劃
● 找出影響查詢執(zhí)行和性能的關(guān)鍵配置變量
● 用SQL語句優(yōu)化的生命周期來識別、確
認、分析然后優(yōu)化SQL語句,并檢查優(yōu)
化的結(jié)果
● 學習使用不為常人所知的一些性能技巧
來改進索引效率并簡化SQL語句
三.資料目錄
目 錄
第1章 DBA五分鐘速成 1
1.1 識別性能問題 2
1.1.1 尋找運行緩慢的SQL語句 2
1.1.2 確認低效查詢 3
1.2 優(yōu)化查詢 6
1.2.1 不應(yīng)該做的事情 6
1.2.2 確認優(yōu)化 7
1.2.3 正確的方式 7
1.2.4 備選的解決方案 9
1.2 本章小結(jié) 9
第2章 基本的分析命令 11
2.1 EXPLAIN命令 12
2.1.1 EXPLAIN PARTITIONS命令 14
2.1.2 EXPLAIN EXTENDED命令 15
2.2 SHOW CREATE TABLE命令 16
2.3 SHOW INDEXES命令 18
2.4 SHOW TABLE STATUS命令 19
2.5 SHOW STATUS命令 22
2.6 SHOW VARIABLES命令 25
2.7 INFORMATION_SCHEMA 26
2.8 本章小結(jié) 27
第3章 深入理解MySQL的索引 29
3.1 示例表 30
3.2 MySQL索引用法 31
3.2.1 數(shù)據(jù)完整性 32
3.2.2 優(yōu)化數(shù)據(jù)訪問 33
3.2.3 表連接 35
3.2.4 結(jié)果排序 35
3.2.5 聚合操作 35
3.3 關(guān)于存儲引擎 36
3.4 索引專業(yè)術(shù)語 37
3.5 MySQL索引類型 38
3.5.1 索引數(shù)據(jù)結(jié)構(gòu)理論 39
3.5.2 MySQL實現(xiàn) 43
3.6 MySQL分區(qū) 54
3.7 本章小結(jié) 55
第4章 創(chuàng)建MySQL索引 57
4.1 本章范例中用到的表 58
4.2 已有的索引 59
4.3 單列索引 61
4.3.1 創(chuàng)建單列索引的語法 61
4.3.2 利用索引限制查詢讀取的行數(shù) 62
4.3.3 使用索引連接表 64
4.3.4 理解索引的基數(shù) 66
4.3.5 使用索引進行模式匹配 69
4.3.6 選擇唯一的行 71
4.3.7 結(jié)果排序 73
4.4 多列索引 75
4.4.1 確定使用何種索引 75
4.4.2 多列索引的語法 79
4.4.3 創(chuàng)建更好的索引 79
4.4.4 多個列上的索引 82
4.4.5 合并WHERE和ORDER BY語句 83
4.4.6 MySQL優(yōu)化器的特性 85
4.4.7 查詢提示 88
4.4.8 復(fù)雜查詢 92
4.5 添加索引造成的影響 93
4.5.1 DML影響 93
4.5.2 DDL影響 96
4.5.3 磁盤空間影響 97
4.6 MySQL的限制和不足 100
4.6.1 基于開銷的優(yōu)化器 100
4.6.2 指定QEP 100
4.6.3 索引的統(tǒng)計信息 100
4.6.4 基于函數(shù)的索引 101
4.6.5 一個表上的多個索引 101
4.7 本章小結(jié) 101
第5章 創(chuàng)建更好的MySQL索引 103
5.1 更好的索引 104
5.1.1 覆蓋索引 104
5.1.2 存儲引擎的含義 109
5.1.3 局部索引 110
5.2 本章小結(jié) 114
第6章 MySQL配置選項 117
6.1 內(nèi)存相關(guān)的系統(tǒng)變量 118
6.1.1 key_buffer_size 120
6.1.2 命名碼緩沖區(qū) 121
6.1.3 innodb_buffer_pool_size 122
6.1.4 innodb_additional_mem_pool_size 124
6.1.5 query_cache_size 125
6.1.6 max_heap_table_size 126
6.1.7 tmp_table_size 127
6.1.8 join_buffer_size 129
6.1.9 sort_buffer_size 129
6.1.10 read_buffer_size 130
6.1.11 read_rnd_buffer_size 130
6.2 有關(guān)基礎(chǔ)工具的變量 130
6.2.1 slow_query_log 131
6.2.2 slow_query_log_file 131
6.2.3 general_log 131
6.2.4 general_log_file 131
6.2.5 long_query_time 132
6.2.6 log_output 132
6.2.7 profiling 132
6.3 其他優(yōu)化變量 133
6.3.1 optimizer_switch 133
6.3.2 default_storage_engine 133
6.3.3 max_allowed_packet 134
6.3.4 sql_mode 134
6.3.5 innodb_strict_mode 134
6.4 其他變量 134
6.5 本章小結(jié) 135
第7章 SQL的生命周期 137
7.1 截取SQL語句 138
7.1.1 全面查詢?nèi)罩?139
7.1.2 慢查詢?nèi)罩?140
7.1.3 二進制日志 142
7.1.4 進程列表 143
7.1.5 引擎狀態(tài) 144
7.1.6 MySQL連接器 145
7.1.7 應(yīng)用程序代碼 146
7.1.8 INFORMATION_SCHEMA 148
7.1.9 PERFORMANCE_SCHEMA 148
7.1.10 SQL語句統(tǒng)計插件 148
7.1.11 MySQL Proxy 149
7.1.12 TCP/IP 149
7.2 識別有問題的語句 149
7.2.1 慢查詢?nèi)罩痉治?152
7.2.2 TCP/IP分析 154
7.3 確認語句執(zhí)行 156
7.3.1 環(huán)境 156
7.3.2 時間統(tǒng)計 157
7.4 語句分析 158
7.5 語句優(yōu)化 159
7.6 結(jié)果驗證 159
7.7 本章小結(jié) 160
第8章 性能優(yōu)化之隱藏秘籍 161
8.1 索引管理優(yōu)化 162
8.1.1 整合DDL語句 162
8.1.2 去除重復(fù)索引 163
8.1.3 刪除不用的索引 164
8.1.4 監(jiān)控無效的索引 165
8.2 索引列的改進 165
8.2.1 數(shù)據(jù)類型 165
8.2.2 列的類型 168
8.3 其他SQL優(yōu)化 170
8.3.1 減少SQL語句 171
8.3.2 簡化SQL語句 178
8.3.3 使用MySQL的復(fù)制功能 180
8.4 本章小結(jié) 181
第9章 MySQL EXPLAIN命令詳解 183
9.1 語法 184
9.2 各列詳解 185
9.2.1 key 187
9.2.2 rows 187
9.2.3 possible_keys 190
9.2.4 key_len 190
9.2.5 table 192
9.2.6 select_type 193
9.2.7 partitions 194
9.2.8 Extra 195
9.2.9 id 197
9.2.10 ref 197
9.2.11 filtered 197
9.2.12 type 198
9.3 解釋EXPLAIN輸出結(jié)果 198
9.4 本章小結(jié) 201