जब आप बिना बफर वाली क्वेरी का उपयोग करते हैं, तो इसका मतलब है कि आपका परिणाम सेट MySQL सर्वर से स्ट्रीम किया जा रहा है। इसलिए, जब तक आप क्वेरी की अंतिम पंक्ति को नहीं पढ़ लेते, तब तक कनेक्शन जिस पर (अनबफ़र्ड) क्वेरी चलती है, व्यस्त रहता है। आपके मामले में कनेक्शन $MysqlConn
. है ।
(एक बफ़र की गई क्वेरी पूरे परिणामसेट को आपके PHP प्रोग्राम की रैम में खिसका देती है और कनेक्शन को मुक्त कर देती है। जब आपका पूरा परिणाम सेट RAM में फिट नहीं होता है तो आप बिना बफर वाले प्रश्नों का उपयोग करते हैं)।
जब आप उनका काम पूरा कर लें तो अनबफ़र की गई क्वेरी को स्पष्ट रूप से बंद कर देना चाहिए। तो एक closeCursor()
जोड़ें कॉल करें
. इस तरह।
while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
$order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();
बफ़र किए गए प्रश्नों को बंद करने में भी कोई बुराई नहीं है। यह एक अच्छी आदत है।