WHERE 優化主要用於 SELECT,同樣適用 DELETE/UPDATE。MySQL 內建優化規則:
((a AND b) AND c OR ...) → (a AND b AND c) OR (a AND b AND c AND d)a < b AND b = c AND a = 5 → b > 5 AND b = c AND a = 5(B>=5 AND B=5) OR (B=6 AND 5=5) → B=5 OR B=6ORDER BY/GROUP BY 來自同表優先HAVING 不匹配行輸出前跳過SELECT COUNT(*) FROM tbl;
SELECT MIN(key1), MAX(key1) FROM tbl;
SELECT MAX(key2) FROM tbl WHERE key1 = const;
SELECT ... FROM tbl ORDER BY key1, key2 LIMIT 10;
SELECT ... FROM tbl ORDER BY key1 DESC, key2 DESC LIMIT 10;
SELECT key1, key2 FROM tbl WHERE key1 = val;
SELECT COUNT(*) FROM tbl WHERE key1=val1 AND key2=val2;
SELECT key2 FROM tbl GROUP BY key1;
SELECT ... FROM tbl ORDER BY key1, key2...
SELECT ... FROM tbl ORDER BY key1 DESC, key2 DESC...