我试图离开联接并创建表。这是一个非常简单的左连接方法,我已经为变量创建了索引。但是,执行该过程需要很长时间。我做错了什么...?

我的代码是这样的:

create table rep_test.can_em
select
a.ACD_ID,
b.RIN
from rep_time.connections as a
left join rep_time.employee_connections as b
on a.CONNECTION_IDENTIFIER = b.CONNECTION_IDENTIFIER


我在此类变量上创建了索引

ACD_ID, RIN and CONNECTION_IDENTIFIER.


另外,每个变量的dataType为:

ACD_ID : bigint(20)
RIN: bigint(20)
CONNECTION_IDENTIFIER: VARCHAR(255)


任何帮助将不胜感激。 2小时后,我停止了该过程。

最佳答案

对于此查询:

create table rep_test.can_em
    select c.ACD_ID, ec.RIN
    from rep_time.connections c left join
         rep_time.employee_connections ec
         on c.CONNECTION_IDENTIFIER = ec.CONNECTION_IDENTIFIER;


最佳索引位于employee_connections(CONNECTION_IDENTIFIER, RIN)上。

由于left join,将返回第一个表中的所有数据。数据量可能导致性能问题。

关于mysql - 在MySQL中离开联接和创建表需要花费很长时间(索引已完成),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40986387/

10-10 04:44