पिछले संस्करणों: Referential Integrety उनके रोडमैप के अनुसार 6.1 में एक "नई सुविधा" हो जाएगा डिफ़ॉल्ट रूप से MyISAM स्टोरेज इंजन, जो विदेशी कुंजी बाधाओं का समर्थन नहीं करता है। जब तक आप इनो डीबी स्टोरेज इंजन का उपयोग करने के लिए स्पष्ट रूप से टेबल घोषित नहीं करते हैं, या डिफ़ॉल्ट स्टोरेज इंजन सर्वर-व्यापी को बदलते हैं, कोई विदेशी कुंजी दिखाई नहीं देती है, और इसमें कोई आश्चर्य की बात नहीं है कि माइक्रोसॉफ्ट के लिए डिज़ाइन किए गए सॉफ़्टवेयर डेवलपर्स विदेशी कुंजी बाधाओं का उपयोग करने के लिए परेशान नहीं हैं।
MySQL 5.5 वर्तमान में बीटा में है और अंत में InnoDB डिफ़ॉल्ट स्टोरेज इंजन होगा। तो बॉक्स के बाहर विदेशी कुंजी बाधाओं का समर्थन किया जाएगा।
हां, विदेशी कुंजी की सिफारिश की जाती है। ये बाधाएं यह सुनिश्चित करने में सहायता करती हैं कि आपका डेटा हमेशा संदर्भित अखंडता को संतुष्ट करता है। विकल्प यह है कि आपका डेटाबेस धीरे-धीरे "crumbs" या पंक्तियों से भरता है जो एक मूल पंक्ति को संदर्भित करता है जो अब डेटाबेस में नहीं है। इससे प्रश्नों से अजीब परिणाम और बर्बाद स्थान, अक्षम प्रश्न पूछ सकते हैं, और आप क्लीनअप chores मैन्युअल रूप से कर सकते हैं जो अनावश्यक होगा यदि आपके पास डेटाबेस आपके लिए स्वच्छता लागू करता है।
पुन टिप्पणी प्रपत्र @Jacob: अच्छा अंक है, लेकिन हाल लेख InnoDB बनाम MyISAM साल पहले की तुलना अवश्य पढ़ लें, MyISAM "तेजी से भंडारण इंजन" माना जाता था और InnoDB स्तोरागे engine आप माना जाता था अगर आप लेनदेन के बिना नहीं कर सकते हैं तो अनिच्छा से उपयोग करना होगा।
लेकिन पिछले कुछ वर्षों में इनो डीबी ने नाटकीय रूप से सुधार किया है, और ज्यादातर मामलों में आज InnoDB तेजी से MyISAM से करता है।
माईसाम के अलावा अभी भी फुलटेक्स्ट इंडेक्सिंग का समर्थन करते हुए, माइस्सम का उपयोग करने के कम और कम कारण हैं। जब मुझे फुलटेक्स्ट इंडेक्सिंग की आवश्यकता होती है, तो मैं या तो आईओएसडीबी में अपने प्राथमिक स्टोरेज के दर्पण के रूप में एक माईसाम टेबल बनाए रखता हूं, अन्यथा मैं Apache Solr का उपयोग करता हूं।
स्रोत
2010-06-29 02:45:23
धन्यवाद, यह – samJL
+1 समझ में आता है - सुनिश्चित करें कि आप MyISAM पर innoDB का उपयोग करने के डाउनसाइड्स को समझते हैं। InnoDB बनाम MyISAM के लिए Google खोज करें, दोनों के फायदे और नुकसान पर चर्चा करने वाले कई लेख हैं। तो यह वास्तव में इस बात पर निर्भर करता है कि आप डीबी का उपयोग कर रहे हैं कि क्या आप वास्तव में चाहते हैं कि मायिसैम लाए गए कुछ फायदों पर आप वास्तव में वांछित अखंडता चाहते हैं। एक जिसे मैंने पिछले हफ्ते अभी खोजा था वह यह है कि innoDB पूर्ण-पाठ खोजों (अभी तक) का समर्थन नहीं करता है, लेकिन माईसाम करता है :( – Jacob
जब इंनोडीबी बनाम मायिसैम की बात आती है तो अंगूठे का मेरा नियम है; यदि आपको पूर्ण पाठ खोज करने की आवश्यकता है , माईसाम का उपयोग करें। पूर्ण पाठ खोज एकमात्र चीज प्रतीत होती है जो गति के संदर्भ में इनोसडीबी पर मायिसम का बड़ा फायदा है –