| 用途 | 中间结果承载 |
|---|---|
| 临时表 | CREATE TEMPORARY TABLE(会话级) |
| 派生表 | FROM (SELECT …) AS t |
临时表用法
临时表用法
CREATE TEMPORARY TABLE tmp_top (user_id BIGINT PRIMARY KEY, total DECIMAL(14,2));
INSERT INTO tmp_top
SELECT user_id, SUM(amount) FROM orders GROUP BY user_id ORDER BY SUM(amount) DESC LIMIT 100;
SELECT * FROM tmp_top;
DROP TEMPORARY TABLE tmp_top;派生表用法
派生表用法
SELECT t.user_id, t.total FROM (
SELECT user_id, SUM(amount) AS total FROM orders GROUP BY user_id
) AS t WHERE t.total > 10000;临时表在会话结束自动清理;派生表内存/磁盘落点由 derived_merge 与临时表参数影响。