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

पंक्तियों की एक बड़ी श्रृंखला के साथ एक MySQL को जल्दी से पॉप्युलेट करें

सामान्यतया, आप निम्न में से किसी एक या अधिक का उपयोग कर सकते हैं:

  • लेनदेन शुरू करें, सम्मिलित करें, प्रतिबद्ध करें
  • क्वेरी में एक ही इंसर्ट में कई मान पैक करें
  • सम्मिलित करने से पहले किसी भी बाधा को छोड़ दें और बड़े पैमाने पर डालने के बाद बाधाओं को बहाल करें (संभवतः प्राथमिक कुंजी को छोड़कर, हालांकि इसके बारे में निश्चित नहीं है)
  • इसमें insert into ... select अगर उपयुक्त हो

पहला (लेनदेन का उपयोग करके) मदद करने की सबसे अधिक संभावना है, लेकिन मुझे यकीन नहीं है कि यह myisam टेबल पर काम करता है, innodb के साथ यह बहुत अच्छा काम करता है - मैं केवल उन लोगों का उपयोग करता हूं जब मुझे MySQL का उपयोग करने के लिए मजबूर किया जाता है, मैं पोस्टग्रेस्क्ल पसंद करता हूं ।

आपके विशिष्ट मामले में, डेटा की 100000 पंक्तियों को सम्मिलित करते हुए, आप निम्न कार्य कर सकते हैं:

INSERT INTO status(id, responseCode, lastUpdate) SELECT @row := @row + 1 as row, 503, NOW() FROM 
(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t,
(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t2, 
(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t3, 
(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t4, 
(select 0 union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t5, 
(SELECT @row:=0) t6;

मेरी मशीन पर इसका परीक्षण किया, मिला:

Query OK, 100000 rows affected (0.70 sec)
Records: 100000  Duplicates: 0  Warnings: 0

मुझे पूरा यकीन है कि आप 100000 पंक्तियों के लिए उससे अधिक तेज़ नहीं हो सकते।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक mysql SELECT ... OUTFILE स्टेटमेंट में FIELDS ESCAPED BY के संयोजन में NULL मानों को कैसे संभाल सकता हूँ? NULL मानों को वर्तमान में छोटा किया जा रहा है

  2. SET @rownum =0 का उपयोग करने का प्रयास करने में त्रुटि; पीएचपी में

  3. तैयार कथन का उपयोग करके जटिल mysql क्वेरी के साथ समस्या

  4. मैं PHP और MySQL का उपयोग करके डेटाबेस मानों को कैसे बदलूं?

  5. WAMP और mysqli ::real_connect ():(HY000/2002)?