나는 두 데이터 집합이있는 테이블은 하나 개의 데이터 세트구글 BigQuery의 사용은, 결코 결과를 다시 반환
유형 등의 정보를 가지고 있습니다 | 이름 | Id
포장 된 약 | 슈도에페드린 HCl 경구 용 정제 120 MG | 110
PackagedDrug | 슈도에페드린 염산 구강 타블렛 60 MG | 111
DrugName | 슈도에페드린 HCl | 내가 원하는 무엇 (112)
는 DrugName 개념에 PackagedDrug에 가입, 그래서 그의 이름을 입력 DrugName에 대한 이름과 일치되는 유형 PackagedDrug에 대한 모든 ID를 얻을 수 있습니다. 다음 쿼리에서 DrugName의 이름을 하드 코드하면 즉시 실행되지만 하드 코드를 꺼내면 계속 실행됩니다. 큰 쿼리의 속도를 높이는 적절한 방법을 제안 해 주시겠습니까?
SELECT a.MSC_ID MSC_id, a.MSC_CONcept_type, a.concept_id, a.concept_name, b.concept_name는
from
(select MSC_id, MSC_CONcept_type, concept_id, concept_name
FROM [ClientAlerts.MSC_Concepts]
where MSC_CONcept_type in ('MediSpan.Concepts.PackagedDrug')) a
CROSS JOIN
(MSC_CONcept_type, concept_id, CONCEPT_NAME 길이 (CONCEPT_NAME는) ClientAlerts FROM
렌을 선택 .MSC_Concepts] 여기서 ('MediSpan.Concepts.NamebasedClassification.DrugName')에 MSC_CONcept_type -
여기서 SUBSTR (a.concept_name, 1 b.len) + '=
감사를 b.concept_name, Savita
안녕하세요, 유형 중 하나를 다른 테이블로 만들었지 만 여전히 느립니다. –
@SavitaMhetar, 나는 두 개의 다른 테이블을 만들면 빨리 만들 것이라고 말한 적은 없습니다. 확실히 더 빨리 만들 것입니다. 조인 할 때 이해해야 할 한가지는 시스템이 가능한 모든 행 조합을 만들려고한다는 것입니다. 각 테이블의 행 수가 얼마나됩니까? 이것은 단순히 시스템에 많은 행이있을 것이므로 – Patrice
한 테이블에는 250 만 개의 행이 있으며 다른 테이블에는 78000 개의 행이 있습니다. –