2009-06-17 14 views
5

से बड़ी है। मेरे पास एक जटिल जटिल जुड़ाव के लिए एक निष्पादन योजना है जो "पंक्तियों की वास्तविक संख्या" पढ़ने के साथ एक तालिका पर एक इंडेक्स की तलाश दिखाती है ~ 70,000, जब वास्तव में तालिका में केवल ~ 600 पंक्तियां हैं (पंक्तियों की अनुमानित संख्या केवल 127 है)।एसक्यूएल निष्पादन योजना एक "वास्तविक पंक्तियों की पंक्ति" दिखाती है जो तालिका आकार

ध्यान दें कि सभी आंकड़े अद्यतित हैं और क्वेरी के इनपुट पैरामीटर बिल्कुल उसी पैरामीटर के समान हैं जो प्रो संकलित किए गए थे।

पंक्तियों की वास्तविक संख्या इतनी ऊंची क्यों है, और संख्या "पंक्तियों की वास्तविक संख्या" का वास्तव में क्या अर्थ है?

मेरा एकमात्र सिद्धांत यह है कि पंक्तियों की उच्च संख्या नेस्टेड लूप से संबंधित है, और यह सूचकांक खोज कई बार निष्पादित किया जा रहा है - "पंक्तियों की वास्तविक संख्या" वास्तव में सभी निष्पादन पर पंक्तियों की कुल संख्या का प्रतिनिधित्व करती है । यदि ऐसा है तो पंक्तियों की अनुमानित संख्या सभी निष्पादनों पर पंक्तियों की कुल संख्या के लिए भी है?

+1

मुझे विश्वास है कि आपकी धारणाएं सही हैं – Avitus

उत्तर

9

ActualRows बार GetNext की संख्या() मायने रखता है एक भौतिक ऑपरेटर पर बुलाया गया था।

तुम भी ActualRebinds, ActualRewinds and ActualEndOfScans पर देखने के एक विचार कितनी बार भीतरी पाश पुनः आकलन किया गया था प्राप्त करने के लिए करना चाहिए:

एक rebind मतलब यह है कि एक या में शामिल होने के की सहसंबद्ध मापदंडों के अधिक बदल गया और आंतरिक पक्ष पुनर्मूल्यांकन होना चाहिए। रिवाइंड का अर्थ है कि सहसंबंधित पैरामीटर के बदल गए हैं और पूर्व आंतरिक परिणाम सेट पुन: उपयोग किया जा सकता है।

3

पंक्तियों की वास्तविक संख्या निष्पादन योजना में उस नोड के लिए सभी संसाधित मूल्यों का परिणाम है। तो हाँ यह ध्यान में रखता है कि घोंसला वाले लूप शामिल होते हैं।

संबंधित मुद्दे