2016-12-06 58 views
0

我正在嘗試向左連接並創建表。這是一個非常簡單的左連接方法,我已經爲變量創建了索引。但是,執行該過程需要很長時間。我做錯了什麼...?需要這麼長時間才能在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

嗨我試過了,但它仍然花了我很長時間,所以我不得不停下來。我還對'connections(CONNECTION_IDENTIFIER,ACD_ID)'做了另一個索引,並嘗試運行上面的代碼。似乎這些都不會解決問題.. – wannabhappy

相關問題