में शामिल है मैं एनडीपीआर (डिस्क पेज पढ़ने की संख्या) के संदर्भ में (सबसे कुशल) ब्लॉक नेस्टेड लूप में शामिल होने की लागत की गणना करने की कोशिश कर रहा हूं। मान लीजिए आप फार्म के एक प्रश्न है:ब्लॉक नेस्टेड लूप की लागत की गणना
SELECT COUNT(*)
FROM county JOIN mcd
ON count.state_code = mcd.state_code
AND county.fips_code = mcd.fips_code
WHERE county.state_code = @NO
जहां @NO क्वेरी से प्रत्येक निष्पादन पर एक राज्य कोड दिया जाता है।
मुझे पता है कि मैं का उपयोग कर NPDR प्राप्त कर सकते हैं: NPDR(R x S) = |Pages(R)| + Pages(R)/B - 2 . |P ages(S)|
(जहां छोटे तालिका आदेश कम पेज का निर्माण करने के बाहरी के रूप में प्रयोग किया जाता है पढ़ता Ergo:। आर = काउंटी, एस = एमसीडी)।
मैं भी है कि पृष्ठ आकार = 2048 बाइट्स
Pointer = 8 byte
Num. rows in mcd table = 35298
Num. rows in county table = 3141
Free memory buffer pages B = 100
Pages(X) = (rowsize)(numrows)/pagesize
क्या मैं यह पता लगाने की कैसे "WHERE county.state_code = @NO
" मेरे लागत को प्रभावित करता है कोशिश कर रहा हूँ पता है?
आपके समय के लिए धन्यवाद।
NDPR (या NPDR) क्या है? मैं कुछ अनुमान लगा रहा हूं जैसे फार्मूला से गंदा पृष्ठ पढ़ता है। – Laurence
हां, क्षमा करें। मुझे यह निर्दिष्ट करना चाहिए था। एनपीडीआर = पृष्ठ डिस्क की संख्या पढ़ता है। – JB2