हम PostgreSQL v8.2.3 का उपयोग कर रहे हैं।
इसमें शामिल टेबल हैं: EMPLOYEE और EMAILLIST ।
Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6)
Table 2: EMAILLIST (email)
2 तालिकाओं को इस तरह से जोड़ा जाता है कि यदि या तो EMPLOYEE.EMAIL1 या EMPLOYEE.EMAIL2 में मेल खाने वाली प्रविष्टि नहीं है, तो उन पंक्तियों को वापस कर दिया जाएगा।
SELECT employee.email1, employee.email2,
e1.email IS NOT NULL AS email1_matched, e2.email IS NOT NULL AS email2_matched
FROM employee
LEFT JOIN emaillist e1 ON e1.email = employee.email1
LEFT JOIN emaillist e2 ON e2.email = employee.email2
WHERE e1.email IS NULL OR e2.email IS NULL
स्तंभ EMAIL
जो है varchar (256) की EMAILLIST
तालिका अनुक्रमित है। अब, प्रतिक्रिया समय 14 सेकंड है।
सारणी गणना के आँकड़े: वर्तमान में, EMPLOYEE को 165,018 रिकॉर्ड और EMAILLIST को 1,810,228 रिकॉर्ड मिले हैं, और दोनों तालिका भविष्य में बढ़ने की उम्मीद है।
- क्या VARCHAR कॉलम को अनुक्रमित करना एक अच्छा विचार / दृष्टिकोण है? इस सवाल ने मेरे दिमाग पर तुरंत हमला कर दिया क्योंकि इस कारण से कि हमने अपने आवेदन से पहले VARCHAR कॉलम को अनुक्रमित नहीं किया है। इस पर विशेषज्ञों की सलाह / सुझाव काफी सराहे जाते हैं।
- इस वर्तमान क्वेरी और इंडेक्स के साथ, 14 सेकंड का प्रतिक्रिया समय उचित है या आगे ट्यूनिंग के लिए कोई गुंजाइश है? इस प्रकार की तालिका आकार और प्रतिक्रिया समय के आधार पर अन्य उपयोगकर्ता का वास्तविक समय का अनुभव / राय क्या है?
नोट: मेरी वास्तविक आवश्यकता / उपयोग मामला यहाँ विस्तार से बताया गया है ।