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

पीडीओ बहुत अधिक रिकॉर्ड, बफर किए गए प्रश्नों के साथ विफल रहा

जब आप बिना बफर वाली क्वेरी का उपयोग करते हैं, तो इसका मतलब है कि आपका परिणाम सेट MySQL सर्वर से स्ट्रीम किया जा रहा है। इसलिए, जब तक आप क्वेरी की अंतिम पंक्ति को नहीं पढ़ लेते, तब तक कनेक्शन जिस पर (अनबफ़र्ड) क्वेरी चलती है, व्यस्त रहता है। आपके मामले में कनेक्शन $MysqlConn . है ।

(एक बफ़र की गई क्वेरी पूरे परिणामसेट को आपके PHP प्रोग्राम की रैम में खिसका देती है और कनेक्शन को मुक्त कर देती है। जब आपका पूरा परिणाम सेट RAM में फिट नहीं होता है तो आप बिना बफर वाले प्रश्नों का उपयोग करते हैं)।

जब आप उनका काम पूरा कर लें तो अनबफ़र की गई क्वेरी को स्पष्ट रूप से बंद कर देना चाहिए। तो एक closeCursor() जोड़ें कॉल करें . इस तरह।

while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
    $order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();

बफ़र किए गए प्रश्नों को बंद करने में भी कोई बुराई नहीं है। यह एक अच्छी आदत है।




  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. 2 अन्य तिथियों के बीच की तिथि, वर्ष की परवाह किए बिना

  3. एक और स्कीमा में Django विदेशी कुंजी

  4. Laravel 5.3 में किसी तालिका से दो बार कनेक्शन के साथ क्वेरी कैसे बनाएं?

  5. PHP में ऑनलाइन प्रश्नोत्तरी प्रकार की स्क्रिप्ट कर रहा हूँ। कुकीज़ या सत्रों का उपयोग करना बेहतर है