PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मैं Postgres को किसी विशेष अनुक्रमणिका का उपयोग करने के लिए कैसे बाध्य करूं?

यह मानते हुए कि आप कई डेटाबेस में पाई जाने वाली सामान्य "इंडेक्स हिंटिंग" सुविधा के बारे में पूछ रहे हैं, PostgreSQL ऐसी सुविधा प्रदान नहीं करता है। यह PostgreSQL टीम द्वारा किया गया एक सचेत निर्णय था। इसके बजाय आप क्यों और क्या कर सकते हैं इसका एक अच्छा अवलोकन यहां पाया जा सकता है। मूल रूप से इसका कारण यह है कि यह एक प्रदर्शन हैक है जो बाद में आपके डेटा में बदलाव के रूप में और अधिक समस्याएं पैदा करता है, जबकि PostgreSQL का अनुकूलक आंकड़ों के आधार पर योजना का पुनर्मूल्यांकन कर सकता है। दूसरे शब्दों में, आज एक अच्छी क्वेरी योजना क्या हो सकती है, शायद सभी समय के लिए एक अच्छी क्वेरी योजना नहीं होगी, और अनुक्रमणिका संकेत किसी विशेष क्वेरी योजना को हमेशा के लिए बाध्य करते हैं।

एक बहुत ही कुंद हथौड़े के रूप में, परीक्षण के लिए उपयोगी, आप enable_seqscan . का उपयोग कर सकते हैं और enable_indexscan पैरामीटर। देखें:

  • इंडेक्स के उपयोग की जांच करना
  • enable_ पैरामीटर

ये चल रहे उत्पादन उपयोग के लिए उपयुक्त नहीं हैं . यदि आपके पास क्वेरी योजना विकल्प के साथ समस्या है, तो आपको क्वेरी प्रदर्शन समस्याओं को ट्रैक करने के लिए दस्तावेज़ीकरण देखना चाहिए। केवल enable_ सेट न करें पैराम्स और चले जाओ।

जब तक आपके पास इंडेक्स का उपयोग करने का एक बहुत अच्छा कारण नहीं है, पोस्टग्रेस सही विकल्प बना सकता है। क्यों?

  • छोटी तालिकाओं के लिए, क्रमिक स्कैन करना तेज़ होता है।
  • डेटाटाइप ठीक से मेल नहीं खाने पर पोस्टग्रेस इंडेक्स का उपयोग नहीं करता है, आपको उपयुक्त कास्ट शामिल करने की आवश्यकता हो सकती है।
  • आपकी योजनाकार सेटिंग के कारण समस्या हो सकती है।

यह पुराना समाचार समूह पोस्ट भी देखें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक अल्पविराम से अलग सूची के रूप में परिणाम वापस करने के लिए PostgreSQL क्वेरी

  2. मैं गिट (संस्करण नियंत्रण) के तहत डेटाबेस कैसे रख सकता हूं?

  3. PostgreSQL में डुप्लिकेट पंक्तियों का चयन करने के 4 तरीके

  4. PostgreSQL विदेशी कुंजी मौजूद नहीं है, विरासत का मुद्दा?

  5. PostgreSQL में प्रति समूह अंतिम पंक्ति कैसे प्राप्त करें