मैंने ऐसी परिस्थितियों का अनुभव किया है जहां UNION
ने क्वेरी को UNION ALL
. की तुलना में बहुत धीमा बना दिया है DISTINCT
. के साथ उसके बाद। इसलिए जबकि मेरे पास खराब क्वेरी योजना के लिए कोई स्पष्टीकरण नहीं है (आंकड़े और अनुक्रमणिका ठीक हैं?), मेरा सुझाव है कि आप निम्न का प्रयास करें:
select distinct * from (
select *
from #finalResults
where intervalEnd is not null
union all
select
two.startTime,
two.endTime,
two.intervalEnd,
one.barcodeID,
one.id,
one.pairId,
one.bookingTypeID,
one.cardID,
one.factor,
two.openIntervals,
two.factorSumConcurrentJobs
from #finalResults as one
inner join #finalResults as two
on two.cardID = one.cardID
and two.startTime > one.startTime
and two.startTime < one.intervalEnd
)