《Effective MySQL之SQL語句最優化》提供了很多可以用于改進數據庫和應用程序性能的最佳實踐技巧,并對這些技巧做了詳細的解釋,希望能夠通過一步步詳細介紹SQL優化的方法,幫助讀者分析和調優有問題的SQL語句。
目錄
第1章DBA五分鐘速成
1.1識別性能問題
1.1.1尋找運行緩慢的SQL語句
1.1.2確認低效查詢
1.2優化查詢
1.2.1不應該做的事情
1.2.2確認優化
1.2.3正確的方式
1.2.4備選的解決方案
1.2本章小結
第2章基本的分析命令
2.1 EXPLAIN命令
2.1.1 EXPLAIN PARTITIONS命令
2.1.2 EXPLAIN EXTENDED命令
2.2 SHOW CREATE TABLE命令
2.3 SHOW INDEXES命令
2.4 SHOW TABLE STATUS命令
2.5 SHOW STATUS命令
2.6 SHOW VARIABLES命令
2.7 INFORMATION SCHEMA
2.8本章小結
第3章深入理解MySQL的索引
3.1示例表
3.2 MySQL索引用法
3.2.1數據完整性
3.2.2優化數據訪問
3.2.3表連接
3.2.4結果排序
3.2.5聚合操作
3.3關于存儲引擎
3.4索引專業術語
3.5 MySQL索引類型
3.5.1索引數據結構理論
3.5.2 MySQL實現
3.6 MySQL分區
3.7本章小結
第4章創建MySQL索引
4.1本章范例中用到的表
4.2 已有的索引
4.3單列索引
4.3.1創建單列索引的語法
4.3.2利用索引限制查詢讀取的行數
4.3.3使用索引連接表
4.3.4理解索引的基數
4.3.5使用索引進行模式匹配
4.3.6選擇唯一的行
4.3.7結果排序
4.4多列索引
4.4.1確定使用何種索引
4.4.2多列索引的語法
4.4.3創建更好的索引
4.4.4多個列上的索引
4.4.5合并VWd—EKE和ORDER BY語句
4.4.6 MySQL優化器的特性
4.4.7查詢提示
4.4.8復雜查詢
4.5添加索引造成的影響
4.5.1 DML影響
4.5.2 DDL影響
4.5.3磁盤空間影響
4.6 MySQL的限制和不足
4.6.1基于開銷的優化器
4.6.2指定QEP
4.6.3索引的統計信息
4.6.4基于函數的索引
4.6.5一個表上的多個索引
4.7本章小結
第5章創建更好的MySQL索引
5.1更好的索引
5.1.1覆蓋索引
5.1.2存儲引擎的含義
5.1.3局部索引
5.2本章小結
第6章MySQL配置選項
6.1 內存相關的系統變量
6.1.1 key_buffer_size
6.1.2命名碼緩沖區
6.1.3 innodb_buffer_pool_size
6.1.4 innodb_additional_mem pool_size
6.1.5 query_cache_size
6.1.6 max_heap_tablesize
6.1.7 trap_table size
6.1.8 join_buffersize
6.1.9 sort_buffer_size
6.1.10 read_buffersize
6.1.11 read_md_buffer_size
6.2有關基礎工具的變量
6.2.1 slow_query_log
6.2.2 slow query_log_file
……
第7章SQL的生命周期
第8章性能優化之隱藏秘籍
第9章MySQLEXPLAIN命令詳解