2017-11-08 2 views
0

최근에 저의 경험에 비추어 볼 때, BigQuery와 조인은 단 하나의 테이블을 사용하는 것보다 훨씬 느립니다. 일반적으로 대부분의 쿼리는 몇 분 내에 완료됩니다. 그러나 다음과 같은 조인 질의는 ~ 10 억 개의 행과 table2 ~ 1 백만 개의 행을 가진 table1로 끝내는 데 6000 초 이상 걸립니다.BigQuery의 참여 속도가 느리다.

SELECT a.*, coalesce(b.field4, a.field3) 
FROM `table1` a left outer join `table2` b 
on a.field1 = b.field1 and a.field2 = b.field2 

커뮤니티에 문의하여 추가 조사가 필요한지 궁금한 점이 있습니까?

+1

"설명"탭을 사용하여 쿼리 계획을 확인 했습니까? 시간이 어디로 갔는지 보여줍니다. –

+0

예, 사실 대부분의 시간은 마지막 단계 (Stage5)의'Compute '부분에 있습니다'READ $ 80, $ 81, $ 82, $ 83, $ 84 ... FROM __SHUFFLE0 쓰기 $ 80, $ 81, $ 82, $ 83, $ 84, ... TO __output' – bignano

+0

얼마나 많은 행이 출력으로 기록되고 있습니까? 당신의 질문에 설명에서 느린 무대 (또는 그들 모두)의 스크린 샷을 포함시킬 수 있습니까? –

답변

0

해결 방법은 대상 테이블을 지정하는 것입니다. 총 시간이 200 초 미만으로 줄어 듭니다.

관련 문제