1. 程式人生 > >【SQL優化】MySQL官網中可優化的層次結構

【SQL優化】MySQL官網中可優化的層次結構

sch plain 表鎖定 優化 記錄 數據庫結構 index 密鑰 sel

正如上一篇中我翻譯的那篇文章,關於MySQL數據庫優化的宏觀介紹,了解到了從大體上來講,優化MySQL可以從3個角度來講。那麽這一篇文章,則從一個個優化點出發,統計出究竟有多少個地方我們可以來優化MySQL,這樣即使是在面試還是工作中遇到問題,都能從宏觀+細節上迅速定位問題、給出解決方案,真正做到了既有森林,又看到了樹木。

一、優化SQL語句
優化SELECT語句
優化子查詢,派生表,查看引用和公用表表達式
優化INFORMATION_SCHEMA查詢
優化性能模式查詢
優化數據更改語句
優化數據庫特權
其他優化提示


二、優化和索引

MySQL如何使用索引
使用主鍵
使用外鍵
列索引
多列索引
驗證索引使用情況
InnoDB和MyISAM Index Statistics Collection
B樹和哈希指數的比較
使用索引擴展
優化器使用生成的列索引
隱形指數
降序索引


三、優化數據庫結構
優化數據大小
優化MySQL數據類型
優化許多表
MySQL內部臨時表使用


四、優化InnoDB表
優化InnoDB表的存儲布局
優化InnoDB事務管理
優化InnoDB只讀事務
優化InnoDB重做日誌記錄
InnoDB表的批量數據加載
優化InnoDB查詢
優化InnoDB DDL操作
優化InnoDB磁盤I / O
優化InnoDB配置變量
優化具有許多表的系統的InnoDB


五、優化MyISAM表
優化MyISAM查詢
MyISAM表的批量數據加載
優化修復表語句


六、優化MEMORY表


七、了解查詢執行計劃
用EXPLAIN優化查詢
EXPLAIN輸出格式
擴展EXPLAIN輸出格式
獲取命名連接的執行計劃信息
估計查詢性能


八、控制查詢優化器
控制查詢計劃評估
優化提示
可切換優化
索引提示
優化器成本模型
優化器統計


九、緩沖和緩存
InnoDB緩沖池優化
MyISAM密鑰緩存
準備聲明和存儲程序的緩存


十、優化鎖定操作
內部鎖定方法
表鎖定問題
並口插入
元數據鎖定
外部鎖定


十一、優化MySQL服務器
優化磁盤I / O
使用符號鏈接
優化內存使用
優化網絡使用


十二、測量性能(基準)
測量表達式和函數的速度
使用自己的基準
使用performance_schema測量性能


十三、檢查線程信息
線程命令值
一般線程狀態
復制主線程狀態
復制從站I / O線程狀態
復制從屬SQL線程狀態
復制從連接線程狀態
事件調度器線程狀態

這部分內容,是從MySQL官網上扒出來的優化的內容,其實每一個都是一個題目,我們這個階段能做到的也只是從語句和索引的角度進行,涉及到之後的引擎優化等,需要我們不斷地去努力。

喜歡閱讀英文原文的同學們,也可以去官網上對應的部分學習,數據庫的學習,不要僅僅停留在增刪改查的級別上。

【SQL優化】MySQL官網中可優化的層次結構