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

पीडीओ fetchall () प्रदर्शन विचार?

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

इसका लाभ यह है कि आप स्क्रिप्ट की अधिकतम मेमोरी खपत को काफी कम कर देते हैं, और आपको स्ट्रीमिंग आउटपुट जल्दी शुरू हो जाता है, हालांकि पूरा होने में कुल समय अधिक लग सकता है या नहीं भी हो सकता है।

मैं अन्य चीजों को अनदेखा कर रहा हूं जिन पर आपको ऐसी चरम परिस्थितियों में विचार करना चाहिए, जैसे आउटपुट बफरिंग इत्यादि...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL विशिष्ट कॉलम का चयन करें

  2. date_format के साथ दिनांक सीमा MySQL का चयन करना

  3. संग्रहीत प्रक्रिया पैरामीटर SQL के लिए IN कथन का उपयोग करना

  4. mysql:आईडी द्वारा समूह, प्रत्येक आईडी के लिए सर्वोच्च प्राथमिकता प्राप्त करें

  5. पता लगाएँ कि कोई दिनांक MySql में डेलाइट सेविंग टाइम में है या नहीं