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

अलग-अलग अस्थिरता वाले कार्यों के लिए योजनाकार अलग-अलग परिणामों के साथ क्यों आ रहा है?

यह 1000 पंक्तियों का अनुमान लगाता है

1000 अनुमानित पंक्तियाँ एक डिफ़ॉल्ट मान है जिसे CREATE FUNCTION :

जब किसी फ़ंक्शन को अस्थिर घोषित किया जाता है, तो यह इनलाइन नहीं होने के लिए कह रहा है, इसलिए result_rows के लिए यह डिफ़ॉल्ट मान है धारण करता है।

दूसरी ओर, जब यह आपके दूसरे परीक्षण की तरह एक प्रश्न में इनलाइन हो रहा है, तो पंक्तियों की संख्या का अनुमान लगाया जा रहा है जैसे कि फ़ंक्शन का मुख्य भाग क्वेरी में ले जाया गया था और फ़ंक्शन घोषणा मौजूद नहीं थी। यह दूसरे परीक्षण में VALUES . के बाद से एक सटीक अनुमान की ओर ले जाता है खंड का सीधे मूल्यांकन किया जा सकता है।

नियोजक वास्तव में यहां क्या कर रहा है, और मैं इस पर कुछ दस्तावेज कहां पढ़ सकता हूं?

सामान्य तौर पर, मुख्य दस्तावेज में योजनाकार की अनुकूलन रणनीतियों की व्याख्या नहीं की जाती है। उनकी मेलिंग सूचियों में चर्चा की जाती है और स्रोत कोड टिप्पणियों में उल्लेख किया जाता है, जो सौभाग्य से असाधारण रूप से स्पष्ट और अच्छी तरह से लिखी जाती हैं (औसत स्रोत कोड की तुलना में)। फ़ंक्शन इनलाइनिंग के मामले में, मेरा मानना ​​है कि inline_set_returning_functions की टिप्पणियां और inline_set_returning_function इस विशेष अनुकूलन को चलाने वाले अधिकांश नियमों को प्रकट करें। (चेतावनी:उपरोक्त लिंक वर्तमान मास्टर शाखा में हैं जो किसी भी समय परिवर्तन या बहाव के अधीन हैं)।




  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. TypeError:create () को कीवर्ड तर्क 'संदर्भ' के लिए कई मान मिले

  3. postgresql में कॉपी का उपयोग करना?

  4. सशर्त एसक्यूएल गिनती

  5. PostgreSQL:यह क्वेरी मेरी अनुक्रमणिका का उपयोग क्यों नहीं कर रही है?