快速选择,创建温度表选择太慢

时间:2019-04-10 13:00:30

标签: mysql insert

我有一些相当简单的代码,其工作时间为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行。

0 个答案:

没有答案
相关问题