文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  最佳化

第 10 章 最佳化

目錄

10.1 最佳化概觀
10.2 最佳化 SQL 陳述式
10.2.1 最佳化 SELECT 陳述式
10.2.2 最佳化子查詢、衍生表格、視圖參照和通用表格運算式
10.2.3 最佳化 INFORMATION_SCHEMA 查詢
10.2.4 最佳化效能綱要查詢
10.2.5 最佳化資料變更陳述式
10.2.6 最佳化資料庫權限
10.2.7 其他最佳化技巧
10.3 最佳化與索引
10.3.1 MySQL 如何使用索引
10.3.2 主鍵最佳化
10.3.3 SPATIAL 索引最佳化
10.3.4 外鍵最佳化
10.3.5 欄位索引
10.3.6 多欄位索引
10.3.7 驗證索引使用情況
10.3.8 InnoDB 和 MyISAM 索引統計資料收集
10.3.9 B 樹和雜湊索引的比較
10.3.10 索引擴充的使用
10.3.11 最佳化工具對產生的欄位索引的使用
10.3.12 隱形索引
10.3.13 遞減索引
10.3.14 從 TIMESTAMP 欄位進行索引查詢
10.4 最佳化資料庫結構
10.4.1 最佳化資料大小
10.4.2 最佳化 MySQL 資料類型
10.4.3 最佳化大量表格
10.4.4 MySQL 中內部暫存表格的使用
10.4.5 資料庫和表格數量的限制
10.4.6 表格大小的限制
10.4.7 表格欄位計數和列大小的限制
10.5 最佳化 InnoDB 表格
10.5.1 最佳化 InnoDB 表格的儲存配置
10.5.2 最佳化 InnoDB 交易管理
10.5.3 最佳化 InnoDB 唯讀交易
10.5.4 最佳化 InnoDB 重做記錄
10.5.5 InnoDB 表格的批次資料載入
10.5.6 最佳化 InnoDB 查詢
10.5.7 最佳化 InnoDB DDL 操作
10.5.8 最佳化 InnoDB 磁碟 I/O
10.5.9 最佳化 InnoDB 組態變數
10.5.10 最佳化具有大量表格的系統的 InnoDB
10.6 最佳化 MyISAM 表格
10.6.1 最佳化 MyISAM 查詢
10.6.2 MyISAM 表格的批次資料載入
10.6.3 最佳化 REPAIR TABLE 陳述式
10.7 最佳化 MEMORY 表格
10.8 了解查詢執行計畫
10.8.1 使用 EXPLAIN 最佳化查詢
10.8.2 EXPLAIN 輸出格式
10.8.3 擴充的 EXPLAIN 輸出格式
10.8.4 取得具名連線的執行計畫資訊
10.8.5 估計查詢效能
10.9 控制查詢最佳化工具
10.9.1 控制查詢計畫評估
10.9.2 可切換的最佳化
10.9.3 最佳化工具提示
10.9.4 索引提示
10.9.5 最佳化工具成本模型
10.9.6 最佳化工具統計資料
10.10 緩衝和快取
10.10.1 InnoDB 緩衝池最佳化
10.10.2 MyISAM 索引鍵快取
10.10.3 預先處理陳述式和預存程式的快取
10.11 最佳化鎖定操作
10.11.1 內部鎖定方法
10.11.2 表格鎖定問題
10.11.3 並行插入
10.11.4 中繼資料鎖定
10.11.5 外部鎖定
10.12 最佳化 MySQL 伺服器
10.12.1 最佳化磁碟 I/O
10.12.2 使用符號連結
10.12.3 最佳化記憶體使用
10.13 測量效能(基準測試)
10.13.1 測量運算式和函數的速度
10.13.2 使用您自己的基準
10.13.3 使用 performance_schema 測量效能
10.14 檢查伺服器執行緒(程序)資訊
10.14.1 存取程序清單
10.14.2 執行緒命令值
10.14.3 一般執行緒狀態
10.14.4 複製來源執行緒狀態
10.14.5 複製 I/O (接收器) 執行緒狀態
10.14.6 複製 SQL 執行緒狀態
10.14.7 複製連線執行緒狀態
10.14.8 NDB 叢集執行緒狀態
10.14.9 事件排程器執行緒狀態

本章說明如何最佳化 MySQL 的效能,並提供範例。最佳化涉及在多個層級進行配置、調整和測量效能。根據您的職責(開發人員、DBA 或兩者兼具),您可能會在個別 SQL 語句、整個應用程式、單一資料庫伺服器或多個網路資料庫伺服器層級進行最佳化。有時您可以主動規劃並提前考慮效能,而有時您可能會在問題發生後才針對配置或程式碼問題進行疑難排解。最佳化 CPU 和記憶體的使用率也可以提高可擴展性,使資料庫能夠處理更大的負載而不會減慢速度。