कोहाना को एक तरफ रख दें, क्योंकि मैंने कभी इसका इस्तेमाल नहीं किया है, आप वर्तमान में जो कर रहे हैं वह मूल रूप से यह है:
$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 पंक्तियों को एक साथ लाने और आउटपुट करने की कोशिश करने की तुलना में आप जो कुछ भी करना चाहते हैं उसे करने का एक बेहतर तरीका होना चाहिए।