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

PostgreSQL को कभी-कभी खराब क्वेरी प्लान चुनने से रोकें

यदि क्वेरी प्लानर गलत निर्णय लेता है तो यह दो चीजों में से एक है:

<एच3>1. आंकड़े गलत हैं।

क्या आप ANALYZE run चलाते हैं? बस ए? इसके संयुक्त रूप में भी लोकप्रिय है VACUUM ANALYZE . अगर ऑटोवैक्यूम चालू है (जो आधुनिक पोस्टग्रेज में डिफ़ॉल्ट है), ANALYZE स्वचालित रूप से चलाया जाता है। लेकिन विचार करें:

  • क्या 9.1 के तहत अब भी नियमित वैक्यूम विश्लेषण की सिफारिश की जाती है?

अगर आपकी टेबल बड़ी है और डेटा वितरण अनियमित है , default_statistics_target . को बढ़ाना मदद कर सकता है। या इसके बजाय, प्रासंगिक कॉलम के लिए केवल आंकड़े लक्ष्य निर्धारित करें (वे WHERE . में हैं या JOIN आपके प्रश्नों के खंड, मूल रूप से):

ALTER TABLE ... ALTER COLUMN ... SET STATISTICS 400;  -- calibrate number
<ब्लॉककोट>

लक्ष्य 0 से 10000 की सीमा में सेट किया जा सकता है;

ANALYZEचलाएं उसके बाद फिर से (प्रासंगिक तालिकाओं पर)।

<एच3>2. लागत सेटिंग योजनाकार अनुमानों के लिए बंद हैं।

मैनुअल में अध्याय प्लानर लागत स्थिरांक पढ़ें।

अध्यायों को देखें default_statistics_target और random_page_cost इस आम तौर पर सहायक PostgreSQL विकी पृष्ठ पर।

कई अन्य संभावित कारण हैं, लेकिन ये अब तक के सबसे आम कारण हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज़ दिनांक अतिव्यापी बाधा

  2. कैसे स्थापित करने के लिए libpq-fe.h?

  3. DB2 से PostgreSQL में माइग्रेट करना - आपको क्या पता होना चाहिए

  4. PostgreSQL में एक तिथि में सप्ताह जोड़ें

  5. क्लाउड मेड ईज़ी में PostgreSQL लोड बैलेंसिंग