2016-12-06 2 views
0

Я пытаюсь оставить соединение и создать таблицу. Это очень простой метод левого соединения, и я уже создал индекс для переменных. Однако для выполнения этого процесса требуется очень много времени. Что я сделал не так...?Это займет так много времени, чтобы оставить join & create table в MySQL (индексирование сделано)

Мой код как таковой:

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. 

Кроме того, тип данных для каждой переменной:

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

Любая помощь будет оценена , Я прекратил процесс через 2 часа.

ответ

1

Для этого запроса:

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 возвращаются все данные в первой таблице. Возможно, объем данных вызывает проблемы с производительностью.

+0

Привет, я пробовал, но мне все еще потребовалось много времени, поэтому мне пришлось остановиться. Я также сделал еще один указатель на «соединения (CONNECTION_IDENTIFIER, ACD_ID)» и попытался выполнить приведенный выше код. Похоже, что ни одно из них не решит проблему. – wannabhappy

 Смежные вопросы

  • Нет связанных вопросов^_^