SQL: добавление «not in» замедляет команду SQL - PullRequest
0 голосов
/ 02 июля 2019

Добавление оператора "not in" в мою команду SQL делает все это крайне медленным.Будем очень благодарны за любые предложения о том, как обойти это!

select distinct 
    d.fiscal_year,d.calendar_year,d.month_num
from vw_ePCR_eMeds_tickets v
    inner join incident_date_dim d on v.ticketdos=d.inci_date
    left join vw_all_incidents i on i.CADIncidentNumber=v.incident_num
where TicketDOS between  '12/01/2017' and '05/31/2018'
    and [transportedstatus] = 'transported'
    and i.call_type_id  not in (
        select call_type_id
        from DW_EMS_Elite.dbo.MCFRS_EMS_BillingExclude 
    )

1 Ответ

0 голосов
/ 02 июля 2019

Просто попробуйте

with cte as (
    select call_type_id from DW_EMS_Elite.dbo.MCFRS_EMS_BillingExclude
)
select distinct 
    d.fiscal_year,
    d.calendar_year,
    d.month_num
from
    vw_ePCR_eMeds_tickets       as v
    join incident_date_dim      as d on ( v.ticketdos=d.inci_date )
    left join vw_all_incidents  as i on ( i.CADIncidentNumber=v.incident_num )
    left join cte               as c on ( c.call_type_id = i.call_type_id )
where 
    ( ( '20171201'<= TicketDOS ) and ( TicketDOS < '20180601' ) )
    and ( [transportedstatus] = 'transported' )
    and ( c.call_type_id is null )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...