2017-06-29 80 views
0

我想留在A.id = B.id加入爲B表A象下面這樣:蜂巢連接查詢性能

select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP','LOP')B on A.id=B.id 

這裏我TABLEB由兩個值GOP和LOP分區。

我也試着做下面的方法相同的查詢:

insert overwrite table final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP')B on A.id=B.id; 
insert INTOtable final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('LOP')B on A.id=B.id; 

任何機構可以告訴哪種做法更好呢?以及原因或與第一次不同的原因。

請幫助

回答

0
select 
    A.id, 
    B.name 
from 
    TABLEa as A 
    LEFT JOIN TABLEb as B on partition IN ('GOP','LOP') and A.id=B.id 
+0

你是什麼意思? – BigD

+0

試試這個。如果你需要一個速度。 而且您必須添加索引分區列 https://www.w3schools.com/sql/sql_create_index.asp – VolkanCetinkaya