सर्वर साइड तैयार स्टेटमेंट स्टेटमेंट के लिए निष्पादन योजना को स्टोर करने के लिए सर्वर साइड संसाधनों का उपभोग करते हैं। थ्रेशोल्ड एक अनुमानी प्रदान करता है जो उन बयानों का कारण बनता है जो वास्तव में "अक्सर" तैयार किए जाने के लिए उपयोग किए जाते हैं। डिफ़ॉल्ट रूप से "अक्सर" की परिभाषा 5.
ध्यान दें कि सर्वर साइड तैयार किए गए स्टेटमेंट खराब निष्पादन योजनाओं का कारण बन सकते हैं क्योंकि वे तैयारी के दौरान पारित मापदंडों पर आधारित नहीं हैं। यदि तैयार किए गए कथन को दिए गए मापदंडों में किसी विशेष सूचकांक (उदाहरण के लिए) पर एक अलग चयनात्मकता है, तो तैयार किए गए कथन की सामान्य क्वेरी योजना उप-इष्टतम हो सकती है। एक अन्य उदाहरण के रूप में, यदि आपके पास ऐसी स्थिति है जहां एक व्याख्या योजना बनाने के लिए क्वेरी का निष्पादन लागत से काफी अधिक है, और व्याख्या योजना ठीक से सेट नहीं है बाध्य पैरामीटर की कमी के कारण, आप उपयोग न करने से बेहतर हो सकते हैं सर्वर साइड तैयार स्टेटमेंट।
जब ड्राइवर दहलीज पर पहुँचता है, तो वह निम्नानुसार स्टेटमेंट तैयार करेगा:
if (!oneShot)
{
// Generate a statement name to use.
statementName = "S_" + (nextUniqueID++);
// And prepare the new statement.
// NB: Must clone the OID array, as it's a direct reference to
// the SimpleParameterList's internal array that might be modified
// under us.
query.setStatementName(statementName);
query.setStatementTypes((int[])typeOIDs.clone());
}
स्टेटमेंट का नाम वायर प्रोटोकॉल के हिस्से के रूप में भेजा जाता है, जो पोस्टग्रेज़ को इसे सर्वर साइड तैयार करने के लिए कहता है।