भले ही आपने संबंध पर कितने सूचकांक बनाए हों, उनमें से केवल एक का उपयोग एक निश्चित क्वेरी में किया जाएगा (जो कि क्वेरी, सांख्यिकी आदि पर निर्भर करता है)। तो आपके मामले में आपको दो सिंगल कॉलम इंडेक्स बनाने से संचयी लाभ नहीं मिलेगा। अनुक्रमणिका से सबसे अधिक प्रदर्शन प्राप्त करने के लिए मैं (स्थान, टाइमस्टैम्प) पर समग्र अनुक्रमणिका का उपयोग करने का सुझाव दूंगा।
ध्यान दें, कि क्वेरी ... WHERE timestamp BETWEEN smth AND smth
हैं ... WHERE location = 'smth'
. जैसे प्रश्नों के दौरान उपरोक्त अनुक्रमणिका का उपयोग नहीं करेगा या ... WHERE location = 'smth' AND timestamp BETWEEN smth AND smth
मर्जी। ऐसा इसलिए है क्योंकि अनुक्रमणिका में पहली विशेषता खोज और छँटाई के लिए महत्वपूर्ण है।
प्रदर्शन करना न भूलें
ANALYZE;
आंकड़े एकत्र करने के लिए सूचकांक निर्माण के बाद।
अपडेट करें: @MondKin . के रूप में टिप्पणियों में उल्लिखित कुछ प्रश्न वास्तव में एक ही संबंध पर कई अनुक्रमणिका का उपयोग कर सकते हैं। उदाहरण के लिए, OR
. के साथ क्वेरी करें खंड जैसे a = 123 OR b = 456
(यह मानते हुए कि दोनों स्तंभों के लिए अनुक्रमणिका हैं)। इस मामले में पोस्टग्रेज दोनों इंडेक्स के लिए बिटमैप इंडेक्स स्कैन करेंगे, परिणामी बिटमैप्स का एक संघ बनाएंगे और बिटमैप हीप स्कैन के लिए इसका इस्तेमाल करेंगे। कुछ स्थितियों में AND
. के लिए एक ही योजना का उपयोग किया जा सकता है क्वेरी लेकिन मिलन के बजाय एक चौराहा होगा।