आप एक ही डेटाबेस में MyISAM और InnoDB टेबल दोनों रख सकते हैं। हालांकि, आपको बहुत बड़ी टेबल होने पर क्या मिलेगा, माईसाम टेबल-लॉक मुद्दों का कारण बन जाएगा। आखिरकार यह क्या करता है, यह एक ही लेनदेन के लिए पूरी तालिका को लॉक करता है, जो बहुत खराब है यदि आपके पास अपनी वेबसाइट का उपयोग करने वाले बहुत से उपयोगकर्ता हैं। उदाहरण के लिए यदि आपके पास कोई उपयोगकर्ता आपकी साइट पर कुछ खोज रहा है और क्वेरी को पूरा करने में कुछ मिनट लगते हैं, तो कोई अन्य उपयोगकर्ता उस अवधि के दौरान आपकी साइट का उपयोग नहीं कर सकता क्योंकि पूरी तालिका लॉक है।
दूसरी तरफ InnoDB पंक्ति-स्तर लॉकिंग का उपयोग करता है, यानी, यह पंक्ति लेनदेन के दौरान तालिका से लॉक की गई एकमात्र पंक्ति है। InnoDB खोजों में धीमा हो सकता है क्योंकि यह MyISAM जैसी पूर्ण टेक्स्ट खोज प्रदान नहीं करता है, लेकिन जब आप इसे MyISAM के टेबल-स्तरीय लॉकिंग से तुलना करते हैं तो यह एक बड़ी समस्या नहीं है। यदि आप कई बड़ी साइटों की तरह इनो डीबी का उपयोग करते हैं, तो आप पूर्ण पाठ खोजों के लिए Sphinx जैसे सर्वर साइड सर्च इंजन का उपयोग कर सकते हैं। या आप f00
जैसे खोज करने के लिए एक MyISAM तालिका का उपयोग भी कर सकते हैं। मैं मुख्य रूप से पंक्ति-स्तर लॉकिंग सुविधा के कारण InnoDB की अनुशंसा करता हूं, लेकिन यह भी कि आप कई अन्य तरीकों से पूर्ण पाठ खोज को कार्यान्वित कर सकते हैं।
असल में, यदि आपके पास बहुत सारे चयन, प्रविष्टियों के साथ-साथ अपडेट के साथ एक संदेश बोर्ड एप्लिकेशन है, तो InnoDB शायद आम तौर पर उपयुक्त विकल्प है। लेकिन यदि आप ऐसा कुछ नहीं बना रहे हैं (या पंजीकृत उपयोगकर्ताओं के साथ कोई अन्य चीज़) और अधिकतर स्थिर सामग्री (या लिखने से अधिक पढ़ते हैं) के साथ काम करते हैं, तो आप MyISAM का उपयोग कर सकते हैं।
स्रोत
2011-01-02 05:11:02
एक संकुल प्राथमिक कुंजी सूचकांक क्या है? http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html क्लस्टर प्राथमिक कुंजी इंडेक्स सामान्य बीटी इंडेक्स से बेहतर क्यों हैं? http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right-one-on-a/4421601#4421601 –