의 촬영을 많이 :SQL 쿼리 최적화 : 시간
select count(distinct po.orderid)
from PostOrders po,
ProcessedOrders pro
where pro.state IN ('PENDING','COMPLETED')
and po.comp_code in (3,4)
and pro.orderid = po.orderid
쿼리가 4323의 결과를 반환하고, 너무 빨리 충분하지 않습니다.
그러나 내가 쿼리에 추가 조건을 추가하는 또 다른 테이블 DiscarderOrders에없는 경우 난 만 반환하도록 다른 조건을 추가해야한다
select count(distinct po.orderid)
from PostOrders po,
ProcessedOrders pro
where pro.state IN ('PENDING','COMPLETED')
and po.comp_code in (3,4)
and pro.orderid = po.orderid
and po.orderid not in (select do.order_id from DiscardedOrders do)
위의 쿼리가 많이 걸립니다 시간과 단지 계속 실행합니다. 빨리 실행되도록 쿼리에 할 수있는 것이 있습니까? 또는 첫 번째 쿼리를 먼저 실행 한 다음 다른 쿼리를 촬영하여 조건을 기준으로 필터링해야합니까?
쿼리와 테이블 구조 모두에 대한 실행 계획, 열을에 당신이 인덱스를해야합니까를 제공하십시오? –