2016-11-09 3 views
0

Я пытаюсь присоединиться к 2-м представлениям, которые содержат около 800 тыс. Записей. Когда я пытаюсь запустить ниже запрос он действительно занимает много времени (более 20 минут), чтобы запустить ..SQL Query Optimization при подключении 2 просмотров

Итак, есть 2 мнения ..

А:

colA colB colC 
===================== 
valueA valueB valueC 

View B :

colD colE colA 
===================== 
valueD valueE valueA 

необходимо присоединиться к этим 2 представлениям на КОА. Таким образом, запрос я использовал это:

select 
count(*) 
from 
    ( 
    select colA, colB, colC 
     from viewA a 
    inner join 
     viewB b on a.colA=b.colA and a.colA in (select distinct colA from viewA) 
     and 
     b.colA in (select distinct colA from viewB 
    ); 

мне нужно получить количество строк и как есть дубликаты взглядов я использовал «отчетливый» ключевое слово.
Можете ли вы PLZ crct меня и сказать мне, почему запрос занимает так много времени?

+0

Примеры данных и желаемых результатов действительно помогло бы объяснить, что вы хотите сделать. –

+1

Какова точка subqueris - 'и a.colA in (выберите выделение colA из viewA)'? –

+0

В каждом представлении есть дубликаты cola. Я хочу присоединиться только к отдельным столбцам. @Alex – CodingFreak

ответ

0

Если вы просто пытаетесь найти сколько различных «КОЛА» в обоих видах

select count(distinct a.colA) 
from viewA a 
inner join viewB b on a.colA = b.colA