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

एक mysql डेटाबेस में 100000 से अधिक रिकॉर्ड कैसे आयात करें?

त्रुटि संदेश बिल्कुल स्पष्ट है और आपको इंगित करता है कि समस्या क्या है:आपके PHP वातावरण में निष्पादन समय की सीमा। तो इसे हल करने के कुछ तरीके स्पष्ट हैं:

  1. अपने परिवेश की समय सीमा बढ़ाएँ

आप या तो अपने php कॉन्फ़िगरेशन में सीमा बढ़ाकर या, यदि अनुमति हो, तो इसे अपनी आयात स्क्रिप्ट के अंदर गतिशील रूप से बढ़ाकर ऐसा कर सकते हैं। तो कुछ इस तरह ini_set('max_execution_time', 3000) . दोनों विकल्प प्रलेखित हैं। php दस्तावेज़ हमेशा होना चाहिए पहला स्थान हो जहां आपको ऐसे प्रश्न के उत्तर की तलाश शुरू करनी चाहिए।

  1. एक अलग php वातावरण का उपयोग करें

आमतौर पर इस तरह की सीमा को वेब वातावरण के लिए चुना जाता है ताकि किसी से भी अनुरोध करने के जोखिम को कम किया जा सके। हालांकि किसी अन्य वातावरण के लिए एक अलग कॉन्फ़िगरेशन का उपयोग करने के खिलाफ कुछ भी नहीं बोलता है। आयात कार्य आमतौर पर नहीं होते हैं वेब अनुरोधों का उपयोग करके संसाधित किया जाता है, लेकिन कमांड लाइन (सीएलआई) में PHP का उपयोग करके। ऐसे के लिए आमतौर पर एक अलग कॉन्फ़िगरेशन का उपयोग किया जाता है। फिर से, यह प्रलेखित है। यही वह है जिसका उपयोग आप अपनी आवश्यकताओं के अनुसार दोनों वातावरणों को एक दूसरे से भिन्न कॉन्फ़िगर करने के लिए यहां कर सकते हैं। हालांकि इसके लिए आपको सीएलआई पर PHP तक पहुंच की आवश्यकता है। यह आपके अपने सिस्टम पर कोई समस्या नहीं है, लेकिन आमतौर पर सस्ते वेब होस्टिंग सेवा पर उपलब्ध नहीं है।

  1. अपने आयात को छोटे भागों में विभाजित करें

चूंकि आपके द्वारा आयात किया जाने वाला डेटा एक sql फ़ाइल में संग्रहीत है, इसलिए एक साधारण पाठ फ़ाइल, आप उस फ़ाइल को संशोधित करने के लिए किसी भी सामान्य पाठ संपादक का उपयोग कर सकते हैं। नोट:एक टेक्स्ट एडिटर, नहीं एक वर्ड प्रोसेसर। आप बड़े INSERT . को विभाजित कर सकते हैं कई भागों में वहाँ निहित बयान। वाक्य रचना काफी स्पष्ट है।

  1. एक बड़े वाले के बजाय कई अलग-अलग इंसर्ट स्टेटमेंट का उपयोग करें

उस डंप फ़ाइल को बनाने के लिए उपयोग किए जाने वाले टूल के आधार पर जिसे आप अभी आयात करने का प्रयास कर रहे हैं, आपके पास डंप बनाने का विकल्प है जैसे कि यह कई अलग-अलग INSERT का उपयोग करता है। बयान (प्रत्येक पंक्ति के लिए एक) एक बड़े, संयुक्त एक के बजाय। mysqldump उदाहरण के लिए --skip-extended-insert . प्रदान करता है इसके लिए झंडा। ऐसी डंप फ़ाइल के साथ केवल फ़ाइल को विभाजित करके आयात को कई छोटे टुकड़ों में विभाजित करना तुच्छ है।

  1. पूरी तरह से आयात के लिए php को बायपास करें

यदि आपके पास अपने डेटाबेस सर्वर (इस मामले में MySQL) तक सीधी पहुंच है, तो आप phpMyAdmin का उपयोग करने के बजाय बस इसके साथ सीधे इंटरैक्ट कर सकते हैं बीच में उपकरण। आप बस अपने डंपफाइल को सीधे MySQL के माध्यम से लोड कर सकते हैं source आज्ञा। इस तरह आप PHP सीमाओं से पूरी तरह स्वतंत्र हैं।



  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. कोमाप्रिसन ऑपरेटर के लिए MySQL अजीब व्यवहार (!=/<>) यानी NotEqualTo

  3. MySQL 5.7 अलग कॉलम के आधार पर टेबल के सभी कॉलम लौटाता है

  4. Mysql में नाम स्ट्रिंग को कैसे विभाजित करें?

  5. pip3 स्थापित mysql-अजगर त्रुटि कोड 1 के साथ /tmp/pip-install-4nev4id4/mysql-python/ में विफल रहा