जब आप इस तरह से बड़े बैच आयात करते हैं तो दो नियमों का पालन करना चाहिए:
-
SQL लॉगिंग अक्षम करें:(
$manager->getConnection()->getConfiguration()->setSQLLogger(null);
) भारी स्मृति हानि से बचने के लिए। -
अंत में केवल एक बार के बजाय बार-बार फ्लश और साफ़ करें। मेरा सुझाव है कि आप
if ($i % 25 == 0) { $manager->flush(); $manager->clear() }
अपने लूप के अंदर, प्रत्येक 25 INSERT को फ्लश करने के लिए।
संपादित करें: एक आखिरी बात जो मैं भूल गया:अपनी संस्थाओं को चर के अंदर न रखें जब आपको उनकी आवश्यकता न हो। यहां, आपके लूप में, आपको केवल वर्तमान इकाई की आवश्यकता है जिसे संसाधित किया जा रहा है, इसलिए पिछली इकाई को $coordinatesfrcity
में संग्रहीत न करें सरणी। यदि आप ऐसा करना जारी रखते हैं तो यह आपको मेमोरी ओवरफ्लो की ओर ले जा सकता है।