凝練 MySQL 生產環境優化精華,從資料庫結構設計、索引建立策略、SQL 查詢改寫三個維度給出可落地的最佳實務清單。
CHAR vs VARCHAR),減少碎片。NOT NULL,避免 NULL 判斷開銷。ZEROFILL。ENUM 或 SET。GROUP BY 欄位順序建立複合索引。DISTINCT 欄位順序建立複合索引。WHERE 多個 AND 條件,按出現順序建複合索引。WHERE 多個 OR 條件,只對重複值最少的單欄建索引。UNIQUE 無意義。NOT NULL。EXPLAIN 分析索引使用情況,尋找最佳寫法。SELECT *,只取必要欄位。EXPLAIN 觀察 rows)。LIMIT 偏移量越小越快;深分頁優化需改用游標/延遲關聯。WHERE 多欄位 AND 順序必須與複合索引順序一致。LIKE 只有非前導萬用字元才用索引 (abc% 是,%abc 否)。JOIN (早期版本子查詢效能極差)。OR 條件為多條 UNION ALL 查詢,各走各的索引。| 型別 | Bytes |
|---|---|
| TINYINT | 1 |
| SMALLINT | 2 |
| MEDIUMINT | 3 |
| INT | 4 |
| BIGINT | 8 |