$this->db->insert_batch();
1 टेबल कनेक्शन के साथ डालें या क्या यह प्रत्येक पंक्ति को अलग-अलग कनेक्शन खोलने के ऊपरी हिस्से में डाल देता है?कोडिग्निटर बैच सम्मिलन प्रदर्शन
उत्तर
कोड आग लगनेवाला insert_batch
के प्रलेखन से कर बातें
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name' ,
'date' => 'Another date'
)
);
$this->db->insert_batch('mytable', $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date')
इस तरह तो यह तेजी से अलग आवेषण कर तो सामान्य रूप से इस तरह से सभी मूल्यों के साथ केवल एक क्वेरी, उत्पादन होगा।
अपने प्रश्न का उत्तर देने के लिए: यह एक कनेक्शन का उपयोग करता है।
वास्तव में दस्तावेज़ पर आधारित @RageZ उत्तर हमेशा सही नहीं होता है। क्योंकि यह पूरी तरह से उन वस्तुओं की संख्या पर आधारित है जिन्हें आप सम्मिलित करना चाहते हैं। कोडिनेटर insert_batch()
कोड को देखते समय, आप देख सकते हैं कि वे 100 आइटमों में बैच आवेषण स्लाइस करते हैं।
// Batch this baby (Around line number 1077 in codeigniter 2.x)
for ($i = 0, $total = count($this->ar_set); $i < $total; $i = $i + 100)
{
$sql = $this->_insert_batch($this->_protect_identifiers($table, TRUE, NULL, FALSE), $this->ar_keys, array_slice($this->ar_set, $i, 100));
//echo $sql;
$this->query($sql);
}
इसका मतलब है कि अपने मूल्यों 100s आवेषण के लिए टुकड़ा हो जाएगा और यदि आप echo $sql
हिस्सा uncomment आप देख सकते हैं जब आप डालने 101 मदों के लिए बैच का उपयोग की तरह लग रही है। तो आपकी कनेक्शन वरीयताओं के आधार पर डीबी में डालने के लिए एक से अधिक कनेक्शन की आवश्यकता हो सकती है।
@ इस प्रश्न से पूछा गया था कि रेजज़ का जवाब सच हो सकता है, मुझे लगता है कि मैं सीआई 1.xx –
@amiawizard का उपयोग कर रहा था, यह सही हो सकता है और यह सुनिश्चित करने का एकमात्र तरीका कोड को देखना है। जैसा कि मुझे पता है कि उन्होंने इस भाग के दस्तावेज़ों को 1.x से नहीं बदला है, लेकिन यह संभव है कि कोड 1.x से 2.x – sobhan
@amiawizard मैंने 1.7.1 और 1.7.3 की जांच की है और इसमें कोई insert_batch फ़ंक्शन नहीं है उन्हें और ऐसा लगता है कि यह फ़ंक्शन संस्करण 2.x में प्रस्तुत किया गया है https://github.com/EllisLab/CodeIgniter/blob/develop/user_guide_src/source/changelog.rst – sobhan
- 1. हाइबरनेट और वसंत के साथ बैच सम्मिलन
- 2. विशिष्ट MySQL थोक सम्मिलन प्रदर्शन ट्यूनिंग
- 3. सम्मिलन
- 4. कोडिग्निटर, ओपनआईडी और .htaccess
- 5. कोडिग्निटर - stdClass ऑब्जेक्ट
- 6. कोडिग्निटर को हेलपर
- 7. कोडिग्निटर - सक्रिय रिकॉर्ड
- 8. कोडिग्निटर सही नहीं है
- 9. ImageMagick बैच आकार बदलने का प्रदर्शन
- 10. बीआई/बैच क्वेरी प्रदर्शन (यानी, _NOT_ OLTP)
- 11. एसक्यूएल सर्वर 2008 आर 2 डीसी सम्मिलन प्रदर्शन परिवर्तन
- 12. कोडिग्निटर आरईएसटी सीएसवी आयात mysql
- 13. जावास्क्रिप्ट में सम्मिलन
- 14. std :: वेक्टर सम्मिलन
- 15. सम्मिलन विसंगति
- 16. बीटीआई सम्मिलन
- 17. सिद्धांत 2 बैच सम्मिलित करें
- 18. मैं Django में बैच डालने का प्रदर्शन कैसे करूं?
- 19. कोडिग्निटर में मैं कहां से क्लॉज
- 20. अनन्य मानों और सम्मिलन
- 21. अपवाद वीएस सम्मिलन
- 22. पोस्टग्रेस सम्मिलन अनुकूलन
- 23. रूबी हैश सम्मिलन आदेश
- 24. सम्मिलन इष्टतम है?
- 25. डेटाबेस में सम्मिलन
- 26. सम्मिलन क्रमबद्ध त्रुटि
- 27. जावा सम्मिलन प्रश्न
- 28. एसक्यूएल अद्वितीय कुंजी सम्मिलन
- 29. माईस्क्ली सम्मिलन कथन
- 30. बैच
डाटाबेस कनेक्शन हमेशा बैच या नहीं होना चाहिए। – Usman