面對百萬級大表,若需重複執行多條複雜查詢提取小量子集,每次全表掃描極其低效。解法:先將所需資料篩選進暫存表,後續查詢只操作小表,效能提升數十倍。
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INT NOT NULL
);
DROP TEMPORARY TABLE tmp_table 即自動釋放空間。CREATE TEMPORARY TABLE tmp_table (...) ENGINE=MEMORY;
max_heap_table_size 限制。並非所有情境暫存表都更快。若原表索引完善、查詢高度選擇性,直接查詢可能更優。請以 EXPLAIN 與實測時間對比決定。