हाइपोथेटिक रूप से, यदि आपको एक ही प्रतिक्रिया में सभी 100,000 पंक्तियों को आउटपुट करने की आवश्यकता है, तो आपको PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
सेट करना चाहिए। करने के लिए false
, क्वेरी निष्पादित करें, और fetch<का उपयोग करके एक बार में परिणाम सेट को एक पंक्ति में पुनरावृति करें। /ए> . विस्तृत करने के लिए, php पूरे परिणामसेट को बफ़र करता है, भले ही आप fetchAll () को कॉल करें या नहीं, यदि PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
सत्य पर सेट है।
इसका लाभ यह है कि आप स्क्रिप्ट की अधिकतम मेमोरी खपत को काफी कम कर देते हैं, और आपको स्ट्रीमिंग आउटपुट जल्दी शुरू हो जाता है, हालांकि पूरा होने में कुल समय अधिक लग सकता है या नहीं भी हो सकता है।
मैं अन्य चीजों को अनदेखा कर रहा हूं जिन पर आपको ऐसी चरम परिस्थितियों में विचार करना चाहिए, जैसे आउटपुट बफरिंग इत्यादि...