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

पायथन:MySQL में डालने वाली बहु प्रक्रियाओं के मेरे कोड में क्या गलत है?

हां, यदि आप एक ही तालिका में 300 मिलियन पंक्तियों को थोक में सम्मिलित कर रहे हैं, तो आपको इस प्रविष्टि को समानांतर करने का प्रयास नहीं करना चाहिए। सभी इंसर्ट को समान बाधाओं से गुजरना होगा:इंडेक्स को अपडेट करना, और हार्ड डिस्क पर फिजिकल फाइल में लिखना। इन कार्यों के लिए अंतर्निहित संसाधनों (सूचकांक, या डिस्क शीर्ष) तक विशेष पहुंच की आवश्यकता होती है।

आप वास्तव में डेटाबेस पर कुछ बेकार ओवरहेड जोड़ रहे हैं जिसे अब कई समवर्ती लेनदेन को संभालना है। यह मेमोरी की खपत करता है, संदर्भ स्विचिंग को मजबूर करता है, डिस्क को हर समय हेड जंप करता है, और इसी तरह।

सब कुछ एक ही धागे में डालें।

ऐसा लगता है कि आप वास्तव में एक प्रकार की CSV फ़ाइल से डेटा आयात कर रहे हैं। आप अंतर्निहित LOAD DATA INFILE MySQL कमांड, इसी उद्देश्य के लिए डिज़ाइन किया गया है। अगर आपको इस कमांड को ट्यून करने में कुछ मदद चाहिए तो कृपया अपनी स्रोत फ़ाइल का वर्णन करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP को यह T_String पसंद नहीं है। (सिंटैक्स त्रुटि अनपेक्षित T_STRING)

  2. एक mysql डेटाबेस से विशिष्ट पंक्तियों को प्रतिध्वनित करें

  3. दो स्तंभों द्वारा डुप्लिकेट पंक्तियों को खोजें और निकालें

  4. SQL क्वेरी जहां फ़ील्ड में $x . नहीं है

  5. MySQL अद्वितीय बाधा जोड़ें