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