कोशिश करने के लिए कुछ चीज़ें
- प्रत्येक के साथ जुड़ने के बजाय पंक्ति और परिणामों को अपने जहां क्लॉज में फ़िल्टर करना, क्या आप कोशिश कर सकते हैं कि सीधे जुड़ने में रिकॉर्ड की मात्रा को कम करने से चीजें तेज हो जाती हैं?
- पर्सनकी, रूमकी, चेकआउट और रो पर एक कवरिंग इंडेक्स जोड़ें और देखें कि क्या यह प्रदर्शन में सुधार करता है।
एसक्यूएल स्टेटमेंट
;with CTE (PERSONKEY, ROOMKEY, CHECKIN, CHECKOUT, ROW)
as (select RU.PERSONKEY,
RU.ROOMKEY,
RU.CHECKIN,
RU.CHECKOUT,
RU.ROW
from ROOMUSAGE RU
where RU.ROW = 1
union all
select RU.PERSONKEY,
RU.ROOMKEY,
RU.CHECKIN,
RU.CHECKOUT,
RU.ROW
from ROOMUSAGE RU
inner join CTE on CTE.ROW + 1 = RU.ROW
and CTE.CHECKIN = RU.CHECKOUT
and CTE.PERSONKEY = RU.PERSONKEY
and CTE.ROOMKEY = RU.ROOMKEY
)