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

PHP, रिक्त पृष्ठ का उपयोग करके MySQL से 190k पंक्तियों को हथियाना? मेमोरी या बफर?

कोहाना को एक तरफ रख दें, क्योंकि मैंने कभी इसका इस्तेमाल नहीं किया है, आप वर्तमान में जो कर रहे हैं वह मूल रूप से यह है:

$result = mysql_query(...);
$data   = array();
while ($row = mysql_fetch_assoc($result)) {
    $data[] = $row;
}

अर्थात। आप MySQL से mysql_fetch_assoc . के साथ सभी डेटा प्राप्त कर रहे हैं और उन सभी को PHP की मेमोरी में $data . में दबाकर स्टोर करें . इसका मतलब है कि PHP के पास सभी डेटा को एक साथ स्टोर करने के लिए पर्याप्त मेमोरी होनी चाहिए, जो कि उसके पास नहीं है।

आप जो करना चाहते हैं वह MySQL से एक परिणाम पंक्ति प्राप्त करना है, इसके साथ कुछ करें, फिर एक ही बार में स्मृति में सब कुछ संग्रहीत किए बिना अगली पंक्ति पर जाएं:

$result = mysql_query(...);
while ($row = mysql_fetch_assoc($result)) {
    echo $row['foo'];
}

और नहीं, कृपया बहिष्कृत mysql_ API का उपयोग न करें, यह यहां केवल सबसे बड़ा आम भाजक उदाहरण है। साथ ही, 190,000 पंक्तियों को एक साथ लाने और आउटपुट करने की कोशिश करने की तुलना में आप जो कुछ भी करना चाहते हैं उसे करने का एक बेहतर तरीका होना चाहिए।



  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. एक क्वेरी में कई कॉलम गिनें

  3. इसका क्या मतलब है जब मैं कहता हूं कि तैयार बयान पूर्व-संकलित है?

  4. XAMPP में MySQL प्रारंभ नहीं कर सकता?

  5. PHP - uniqid(,true) बनाम uniqid()+mt_rand()