Index scans
आपका दोस्त हवाई (Hawaii) में रहता है जहाँ ज्वालामुखीय धुएँ (vog) की वजह से उसकी अस्थमा बढ़ जाती है। आप उसकी मदद कर रहे हैं रहने के लिए नए स्थान ढूँढने में, इसके लिए आप Environmental Protection Agency के काउंटी-स्तरीय एयर क्वालिटी डेटा का उपयोग कर रहे हैं। आप तय करते हैं कि उसका नया घर ऐसे क्षेत्र में हो जहाँ कम से कम 90% दिनों में एयर क्वालिटी अच्छी हो।
आप जानते हैं कि USA में बहुत से काउंटी हैं और एयर क्वालिटी वाली टेबल काफी बड़ी है। आपकी पहली क्वेरी (यहाँ नहीं दिखी) ने sequential scan किया और चलने में बहुत समय लिया।
आप तय करते हैं कि अच्छी एयर क्वालिटी दिनों की संख्या ट्रैक करने वाले कॉलम पर एक इंडेक्स जोड़ें। क्वेरी प्लान देखें और स्कैन के प्रकार की जाँच करें।
यह अभ्यास पाठ्यक्रम का हिस्सा है
PostgreSQL में क्वेरी प्रदर्शन सुधारना
अभ्यास निर्देश
annual_aqiटेबल के लिएgoodकॉलम का उपयोग करके एक इंडेक्स बनाएँ।- केवल वही परिणाम शामिल करें जिनमें साल के कम से कम 90% दिनों में
goodएयर क्वालिटी हो। - हालिया वर्षों पर ध्यान दें:
aqi_yearको 2017 और 2018 तक सीमित रखें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
CREATE INDEX good_index
ON ___(___);
EXPLAIN
SELECT state_name, county_name, aqi_year, good
FROM annual_aqi
WHERE ___ > 327 -- 90% of the year
AND ___ IN (___,___);