InnoDB
और MyISAM
MySQL
में क्या है?MySQL में InnoDB और MyISAM क्या है?
उत्तर
InnoDB
और MYISAM
, MySQL
के लिए भंडारण इंजन हैं।
ये दो उनके लॉकिंग कार्यान्वयन पर भिन्न हैं: InnoDB
तालिका में विशेष पंक्ति को ताला लगाता है, और MyISAM
संपूर्ण MySQL
तालिका को ताला लगा देता है।
डीबी में एक तालिका बनाते समय आप MYISAM
या InnoDB
देकर प्रकार निर्दिष्ट कर सकते हैं।
वे स्टोरेज इंजन हैं।
http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html
MyISAM: डिफॉल्ट MySQL भंडारण इंजन और एक है कि वेब, डेटा भंडारण में सबसे अधिक उपयोग किया जाता है, और अन्य आवेदन वातावरण। MyISAM सभी MySQL कॉन्फ़िगरेशन में समर्थित है, और डिफ़ॉल्ट स्टोरेज इंजन है जब तक कि आपने डिफ़ॉल्ट रूप से किसी भिन्न का उपयोग करने के लिए MySQL को कॉन्फ़िगर नहीं किया है।
इनो डीबी: MySQL के लिए एक लेन-देन-सुरक्षित (एसीआईडी अनुपालन) स्टोरेज इंजन जिसमें उपयोगकर्ता डेटा की सुरक्षा के लिए प्रतिबद्ध, रोलबैक और क्रैश-रिकवरी क्षमताएं हैं। इनो डीबी पंक्ति-स्तर लॉकिंग (कोसर ग्रैन्युलरिटी लॉक में वृद्धि के बिना) और ओरेकल-शैली लगातार नॉनलाकिंग पढ़ने से बहु-उपयोगकर्ता समवर्तीता और प्रदर्शन बढ़ता है। InnoDB क्लस्टर इंडेक्स में उपयोगकर्ता डेटा को प्राथमिक कुंजी के आधार पर सामान्य प्रश्नों के लिए I/O को कम करने के लिए संग्रहीत करता है। डेटा अखंडता को बनाए रखने के लिए, InnoDB विदेशी कुंजी संदर्भ-अखंडता बाधाओं का भी समर्थन करता है।
इसलिए जब हम MySQL इंस्टॉल करते हैं तो हमें विशेष रूप से निर्दिष्ट करना होगा कि कौन सा संग्रहण इंजन हमारे MySQL डेटाबेस के रूप में उपयोग करना है ? – user130561
जैसा कि मेरी पोस्ट में बताया गया है, डिफ़ॉल्ट MyISAM है। यदि आप आईएनएनओडीबी जैसे विभिन्न स्टोरेज इंजन की विशेषताओं का उपयोग करना चाहते हैं, तो हाँ आपको निर्दिष्ट करने की आवश्यकता होगी। यह इंस्टॉल के दौरान नहीं किया जाता है, बल्कि यह प्रारंभिक तालिका निर्माण के दौरान किया जाता है। – mluebke
लेकिन इसके अनुसार: - http://dev.mysql.com/doc/refman/5.7/en/storage-engines.html; डिफ़ॉल्ट इंजन InnoDB है। – Harsha
पर एक नज़र InnoDB MySQL के लिए एक भंडारण इंजन है है, सभी मौजूदा बाइनरी MySQL एबी द्वारा वितरित में मानक के रूप में शामिल थे। MySQL साथ प्रयोग के लिए इंजन उपलब्ध अन्य भंडारण पर इसका मुख्य वृद्धि एसिड अनुरूप लेनदेन समर्थन
MyISAM MySQL रिलेशनल डेटाबेस प्रबंधन प्रणाली संस्करणों के लिए डिफ़ॉल्ट संग्रहण इंजन पहले 5.5 1 करना है। यह पुराने आईएसएएम कोड पर आधारित है लेकिन इसमें कई उपयोगी एक्सटेंशन हैं। माईसाम की प्रमुख कमी लेनदेन समर्थन की अनुपस्थिति है। MySQL 5.5 और उससे अधिक के संस्करणों में इनो डीबी इंजन में पर स्विच किया गया है, संदर्भित अखंडता बाधाओं, और उच्च समरूपता सुनिश्चित करें।
क्या हम अपने डेटाबेस के लिए एक ही समय में दोनों स्टोरेज इंजन का उपयोग कर सकते हैं? – user130561
आप कर सकते हैं, क्योंकि प्रत्येक तालिका के लिए आप एक अलग भंडारण इंजन को परिभाषित कर सकते हैं। एक और सवाल यह है कि आपको चाहिए। MySQL दस्तावेज़ में इस विषय के बारे में कुछ स्पष्टीकरण हैं। – nano7
मैं जोड़ना चाहता था कि प्रति तालिका एक विशिष्ट स्टोरेज इंजन निर्दिष्ट करने की क्षमता है MySQL की महत्वपूर्ण ताकत है (उपयोग के आसान और बिना किसी ट्वीव के अच्छे प्रदर्शन)। सभी परिचालनों के लिए जहां लेनदेन की आवश्यकता होती है, बस इनो डीबी के साथ रहें। हालांकि, कुछ स्थितियों में लेनदेन की आवश्यकता नहीं होने पर माईसाम वास्तव में चीजों को गति दे सकता है - और इनो डीबी की तुलना में कम डिस्क स्थान और रैम की आवश्यकता होती है।
कहा कि, InnoDB बेहतर हर समय हो रही है:
माईसैम इनओडीबी के विपरीत एसीआईडी का पालन नहीं करता है जो डेटा की अखंडता को बनाए रखने के लिए लेनदेन का पालन करता है।
MyISAM समवर्ती आवेषण का समर्थन करता है: एक मेज में कोई मुफ्त ब्लॉक डेटा फ़ाइल के बीच है, तो आप एक ही समय कि अन्य थ्रेड मेज से पढ़ रहे हैं पर इसे में नई पंक्तियाँ सम्मिलित कर सकते हैं। MySqlDoc
यही कारण है कि, माईसाम तेज है और कम जगह लेता है। उदाहरण के लिए, MySQL MyISAM स्टोरेज इंजन ट्रांज़ेक्शन का समर्थन नहीं करता है। constraints of MySQL MYISAMconcurrent-insert नामक एक बिट कहा जाता है डिफ़ॉल्ट रूप से, चर 1 पर सेट होता है और समवर्ती आवेषणों को अभी वर्णित किया जाता है। यदि यह 0 पर सेट है, समवर्ती आवेषण अक्षम हैं। यदि यह 2 पर सेट है, तो तालिका के अंत में समवर्ती आवेषणों को उन पंक्तियों के लिए भी अनुमति दी जाती है, जिन्होंने पंक्तियों को हटा दिया है। तालिका के मध्य में पंक्तियों को जोड़ने के लिए एक INSERT कथन निष्पादित किया जा सकता है, यदि तालिका के बीच में कोई छेद/हटाई गई पंक्तियां नहीं होती हैं (समवर्ती डालने के समय)।
डिफ़ॉल्ट अलगाव स्तर और mysql InnoDB "पुनरावर्तनीय पढ़ें" है। माईसाम के लिए, कोई लेनदेन नहीं है। InnoDB पंक्ति स्तर लॉकिंग का उपयोग करता है जबकि MyISAM केवल टेबल लेवल लॉकिंग का उपयोग कर सकता है, यही कारण है कि InnoDB में क्रैश रीवॉरी माइस्सम से बेहतर है। यदि कोई समवर्ती प्रभाव से बचना चाहता है तो उसे मैन्युअल रूप से तालिका स्तर लॉक प्राप्त करना होगा।
InnoDB डिफ़ॉल्ट नहीं MyISAM https://dev.mysql.com/doc/refman/5.7/en/innodb-introduction.html
आप देखते हैं, 2010 में डिफ़ॉल्ट अलग हो सकता है ... – mustaccio
- 1. MySQL - InnoDB MyISAM
- 2. mysql innodb बनाम myisam प्रविष्टियां
- 3. MySQL: प्रदर्शन INNODB बनाम MYISAM
- 4. MyISAM और InnoDB में एकल mysql कथन परमाणु हैं?
- 5. MyISAM से InnoDB
- 6. एक डेटाबेस में MyISAM और InnoDB टेबल
- 7. MyISAM की key_buffer_size के समकक्ष InnoDB क्या है?
- 8. लांग ब्लोब innodb या MyISAM
- 9. जब MyISAM InnoDB से बेहतर है?
- 10. InnoDB बनाम MyISAM सम्मिलित क्वेरी समय
- 11. MyISAM से InnoDB में रूपांतरण को तेज करना
- 12. mysql डिफ़ॉल्ट इंजन को innodb
- 13. क्या बराबर mysql में शो InnoDB की स्थिति के लिए MyISAM के संस्करण
- 14. myISAM और InnoDB तालिकाओं के लिए विदेशी कुंजी
- 15. MySQL MyISAM डेटा हानि संभावनाएं?
- 16. InnoDB और MyIsam तालिकाओं के संयोजन का उपयोग
- 17. हाइबरनेट: MyISAM
- 18. स्टोरेज इंजन से MySQL टेबल और डेटा ले जाएं MyISAM से InnoDB
- 19. MyISAM को InnoDB में कनवर्ट करना। फायदेमंद? परिणाम?
- 20. mysql त्रुटि 'प्रकार = MyISAM'
- 21. MySQL InnoDB इतना धीमा क्यों है?
- 22. MySQL MyISAM तालिका लॉकिंग
- 23. क्या मुझे हमेशा MyISQL पर MySQL InnoDB पसंद करना चाहिए?
- 24. क्या कोई समस्या है/चीजें जिन्हें आप जानना चाहते हैं जब MyISAM से InnoDB
- 25. क्या मैं एक डेटाबेस में InnoDB और MyISAM तालिकाओं का उपयोग कर सकता हूं?
- 26. क्या MySQL सिस्टम डेटाबेस टेबल को InnoDB में परिवर्तित किया जा सकता है?
- 27. MySQL InnoDB डेटाबेस पुनर्स्थापित
- 28. MySQL डेटाबेस इंजन: info_schema के लिए MyISAM लेकिन अन्य डेटाबेस के लिए InnoDB
- 29. लेनदेन के बिना जीवन (MyISAM)
- 30. मैं MySQL (InnoDB) में सर्वश्रेष्ठ मिलान पंक्ति
"InnoDB। डिफ़ॉल्ट MySQL भंडारण इंजन है जब तक आप एक अलग डिफ़ॉल्ट संग्रहण इंजन कॉन्फ़िगर किया है, एक एक इंजन के बिना टेबल बयान बनाएँ जारी करने = खंड एक InnoDB तालिका बनाता है" है [MySQL: MyISAM बनाम इनो डीबी!] (Http://stackoverflow.com/questions/277440/mysql-myisam-vs-inno-db) का डुप्लिकेट, या आप अपना चयन ले सकते हैं: http://stackoverflow.com/खोज? q = myisam + बनाम + innodb –
यह डेटाबेस इंजन है ... http://www.kavoir.com/2009/09/mysql-engines-innodb-vs-myisam-a-comparison-of-pros- और-cons.html – Matthieu
क्या हम अपने डेटाबेस के लिए एक ही समय में दोनों स्टोरेज इंजन का उपयोग कर सकते हैं? – user130561