यह मानते हुए कि आप कई डेटाबेस में पाई जाने वाली सामान्य "इंडेक्स हिंटिंग" सुविधा के बारे में पूछ रहे हैं, PostgreSQL ऐसी सुविधा प्रदान नहीं करता है। यह PostgreSQL टीम द्वारा किया गया एक सचेत निर्णय था। इसके बजाय आप क्यों और क्या कर सकते हैं इसका एक अच्छा अवलोकन यहां पाया जा सकता है। मूल रूप से इसका कारण यह है कि यह एक प्रदर्शन हैक है जो बाद में आपके डेटा में बदलाव के रूप में और अधिक समस्याएं पैदा करता है, जबकि PostgreSQL का अनुकूलक आंकड़ों के आधार पर योजना का पुनर्मूल्यांकन कर सकता है। दूसरे शब्दों में, आज एक अच्छी क्वेरी योजना क्या हो सकती है, शायद सभी समय के लिए एक अच्छी क्वेरी योजना नहीं होगी, और अनुक्रमणिका संकेत किसी विशेष क्वेरी योजना को हमेशा के लिए बाध्य करते हैं।
एक बहुत ही कुंद हथौड़े के रूप में, परीक्षण के लिए उपयोगी, आप enable_seqscan
. का उपयोग कर सकते हैं और enable_indexscan
पैरामीटर। देखें:
- इंडेक्स के उपयोग की जांच करना
enable_
पैरामीटर
ये चल रहे उत्पादन उपयोग के लिए उपयुक्त नहीं हैं . यदि आपके पास क्वेरी योजना विकल्प के साथ समस्या है, तो आपको क्वेरी प्रदर्शन समस्याओं को ट्रैक करने के लिए दस्तावेज़ीकरण देखना चाहिए। केवल enable_
सेट न करें पैराम्स और चले जाओ।
जब तक आपके पास इंडेक्स का उपयोग करने का एक बहुत अच्छा कारण नहीं है, पोस्टग्रेस सही विकल्प बना सकता है। क्यों?
- छोटी तालिकाओं के लिए, क्रमिक स्कैन करना तेज़ होता है।
- डेटाटाइप ठीक से मेल नहीं खाने पर पोस्टग्रेस इंडेक्स का उपयोग नहीं करता है, आपको उपयुक्त कास्ट शामिल करने की आवश्यकता हो सकती है।
- आपकी योजनाकार सेटिंग के कारण समस्या हो सकती है।
यह पुराना समाचार समूह पोस्ट भी देखें।