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

InnoDB/MyISAM रिकॉर्ड डालने के लिए आवश्यक समय में अंतर

यह स्पष्ट नहीं है कि आपने MyISAM या Innodb में कौन सी ड्यूरेबिलिटी सेटिंग्स सक्षम की हैं, न ही आप सिंगल-पंक्ति इंसर्ट का उपयोग कर रहे हैं, या किसी भी मामले में बैच इंसर्ट का उपयोग कर रहे हैं।

यदि आप एकल-पंक्ति आवेषण का उपयोग कर रहे हैं, आप लेन-देन का उपयोग नहीं कर रहे हैं, और आपके पास स्थायित्व सक्षम है (InnoDB में डिफ़ॉल्ट सेटिंग), तो आपको प्रत्येक लेनदेन को टिकाऊ भंडारण के लिए प्रतिबद्ध करने की आवश्यकता से InnoDB प्रदर्शन को गंभीर रूप से सीमित देखने की संभावना है ( यानी डिस्क) प्रत्येक पंक्ति डालने के बाद।

MyISAM में ऐसी कोई समस्या नहीं है, क्योंकि यह वैसे भी टिकाऊ नहीं है, यानी यदि मशीन क्रैश हो जाती है तो आपको कुछ हाल ही में लिखे गए डेटा को खोने की गारंटी दी जाती है, जिसे डेटाबेस ने पहले दावा किया था कि सफलतापूर्वक लिखा गया था (यदि पूरी तालिका नहीं!)।

यदि आप अच्छा इंसर्ट-परफॉर्मेंस चाहते हैं, तो बैच इंसर्ट और/या लेन-देन का उपयोग करें, अन्यथा आप केवल fsync() के बाद लिखने की गति को माप रहे हैं, जो (घूर्णी चुंबकीय मीडिया पर गैर-बैटरी समर्थित RAID नियंत्रक पर) है बस आपके डिस्क घूमने की गति।

तो कारण innodb इतना सुसंगत है, कि आप अपनी डिस्क की स्पिन गति को माप रहे हैं।

ऐसा कहने के बाद, यदि आपके पास एक व्यस्त सर्वर है, तो आप निश्चित रूप से, बैटरी-समर्थित RAID नियंत्रक का उपयोग करना चाहते हैं, तो आप सभ्य लेनदेन प्रतिबद्ध प्रदर्शन और उचित स्थायित्व प्राप्त कर सकते हैं (मान लें कि बैटरी लंबे समय तक विफल नहीं होती है, और सर्वर में विस्फोट नहीं होता आदि)।



  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 डेटाबेस को पुराने से नए सर्वर में कैसे ट्रांसफर करें

  2. कुंजी-> मूल्य डेटा के लिए कुछ अच्छे, तेज़ स्थायी संग्रहण विकल्प क्या हैं?

  3. सिंगल कॉलम डेटा के आधार पर डायनेमिक हेडर के साथ MySQL पिवट टेबल

  4. PHP और MySQL - स्रोत कोड में पासवर्ड से कैसे बचें?

  5. Oracle SQL डेवलपर का उपयोग करके आप MySQL डेटाबेस से कैसे जुड़ते हैं?