我有一些相当简单的代码,其工作时间为0.025秒
SELECT a.platform_id
, a.ord
, SUBSTRING(JSON_EXTRACT(CAST(UNCOMPRESS(b.evt_data) AS CHAR), '$.waId'), 2, 36) AS wa_id
FROM
ReportModel.`event_version_role` a
INNER JOIN
WriteModel.`event_store` b
ON a.`platform_id` = b.`platform_id`
AND a.`aggregate_id` = b.`aggregate_id`
AND b.`aggregate_version` = 1
WHERE a.wa_id IS NULL
AND a.evt_type LIKE 'workerjob%'
ORDER BY 1,2
LIMIT 0,100
但是,当我使用CREATE TEMPORARY TABLE作为开头时,要花30多分钟才能运行
CREATE TEMPORARY TABLE wj
(PRIMARY KEY pk (platform_id, ORD))
SELECT a.platform_id
, a.ord
, SUBSTRING(JSON_EXTRACT(CAST(UNCOMPRESS(b.evt_data) AS CHAR), '$.waId'), 2, 36) AS wa_id
FROM
ReportModel.`event_version_role` a
INNER JOIN
WriteModel.`event_store` b
ON a.`platform_id` = b.`platform_id`
AND a.`aggregate_id` = b.`aggregate_id`
AND b.`aggregate_version` = 1
WHERE a.wa_id IS NULL
AND a.evt_type LIKE 'workerjob%'
ORDER BY 1,2
LIMIT 0,100
这是为什么?有办法解决吗?我还尝试过单独创建表,并使用insert将数据插入mydb.wj ...
顺便说一句,如果我没有0,100的限制,那将有c50m行。