2010-12-16 7 views
6

मुझे पता है कि इस पर a bunch of other questions हैं। मुझे जो समस्या है, वह भंडारण इंजन के नवीनतम संस्करणों के संबंध में इस मामले पर अद्यतित सहमति है।Do InnoDB बनाम माईसाम तुलना अभी भी पाठ बनाम लिखने की गति के संदर्भ में सच है?

कुछ लोगों ने कहा है कि माईसाम पढ़ने के लिए तेज़ है, लेकिन इनो डीबी में हाल के सुधारों ने या तो इस अंतर को कम या खत्म कर दिया है। क्या यह मामला है?

This article MYSQL प्रदर्शन ब्लॉग पर सीधे और अन्य लेखों से जुड़ा हुआ है जो यहां से प्रश्नों से जुड़े हुए हैं, लेकिन यह 3 साल पुराना है। हम डेवलपर्स हैं, हम व्यावहारिक रूप से कुत्ते के वर्षों पर काम करते हैं - 3 साल एक आयु है!

-

मैं टेबल, जिनमें से कुछ ज्यादातर से करने के लिए लिखा जाता है और जिनमें से कुछ ज्यादातर पढ़ रहे हैं और शायद ही कभी के लिए लिखा की एक संख्या है। ऐसी कई विदेशी कुंजी भी हैं जिनके लिए इनो डीबी की आवश्यकता होती है, इसलिए वे इनो डीबी के रूप में रहेंगे, लेकिन मैं जानना चाहूंगा कि क्या उन तालिकाओं को बदलने का अधिकार है जिन्हें ज्यादातर पढ़ा जाता है और मायिसम के लिए कोई विदेशी कुंजी नहीं है, या यह है दो स्टोरेज इंजनों के नवीनतम संस्करणों के साथ, एक व्यर्थ बात करने के लिए उपयोग किया जा रहा है?

-

मुझे खुशी है कि इस बंद किया जा करने के लिए मतदान किया जा सकता है, लेकिन ऐसा करने कि यदि आपने लेख अप करने के लिए एक करने के लिए लिंक कर सकते हैं? मैंने पहले से ही Google खोज को समय सीमा से प्रतिबंधित कर दिया है, लेकिन लेख पुराने लेखों से जुड़े हैं। धन्यवाद।

उत्तर

7

जैसा कि आप इंगित करते हैं, MySQL प्रदर्शन ब्लॉग पर आलेख अब लगभग 4 साल पुराना है। तब से इनो डीबीबी में काफी सुधार हुआ था। माईसाम नहीं था।

कल कल MySQL 5.5 जारी किया गया था। यह पहला संस्करण है जहां InnoDB डिफ़ॉल्ट स्टोरेज इंजन है। किसी कारण से। ओरेकल का दावा है कि लिनक्स के लिए 3.5 प्रदर्शन लाभ और विंडोज़ के लिए 15 गुना प्रदर्शन लाभ (5.1 इनो डीबी की तुलना में)।

2

मैं कहूंगा, वहां कोई अंतर नहीं है। मैंने हाल ही में एक लेख पढ़ा है, जिसने इस मिथक को दूर किया है, लेकिन सैडी, यह अब और काम नहीं कर रहा है।

वैसे भी, मुझे विश्वास है कि MyISAM और InnoDB के बीच निर्णय अब सवाल

  • आप विदेशी कुंजी के साथ काम करने की आवश्यकता है पर ज्यादातर निर्भर करते हैं?
  • क्या आपको टेबल स्तर या पंक्ति स्तर लॉकिंग की आवश्यकता है।

कम से कम, ये सिद्धांत हैं जिन पर मैं अपने विकल्पों का आधार रखता हूं।

+0

एसीआईडी ​​लेनदेन के बारे में कैसे? मैं कहूंगा कि InnoDB चुनने के पीछे यह मुख्य कारण है। – Mchl

+0

चूंकि मैं आमतौर पर वेब ऐप्स के साथ काम कर रहा हूं, यह आमतौर पर एक बड़ी चिंता नहीं है, लेकिन हाँ, यह एक अच्छा मुद्दा है! यदि आपको अंतिम विश्वसनीयता और स्थिरता की आवश्यकता है, तो InnoDB शायद आपकी सबसे अच्छी शर्त है। उस बिंदु को इंगित करने के लिए धन्यवाद एमसीएल! –

+0

पंक्ति स्तर लॉकिंग के विपरीत आपको टेबल स्तर लॉकिंग की आवश्यकता क्यों होगी? क्या आप एक उदाहरण दे सकते हैं जब यह मामला होगा? मेरे विचार में InnoDB लगभग हमेशा सबसे अच्छा विकल्प है। सिवाय जब आपको पूर्ण पाठ खोज की आवश्यकता होती है। –

1

सामान्य तौर पर ऐसा लगता है जैसे कि आम सहमति मुख्य रूप से InnoDB उपयोग करने के लिए है, लेकिन अभी भी कुछ क्षेत्रों में MyISAM InnoDB की तुलना में बहुत तेजी से होता है कर रहे हैं। मेरे पास एक ऐसी वेबसाइट है जो रनिंग रेस के लिए समय सूचीबद्ध करती है और प्रत्येक एथलीट www.marastat.com के लिए रिकॉर्ड बनाता है। हमारी साइट एथलीटों की लाखों रेंज में है। हमने एक खोज सुविधा जोड़ा और पहले/आखिरी नामों की तरह एक खोज की और पाया कि इनओडीबी और एक इंडेक्स का उपयोग करके कुछ खोजों को पूरा करने में एक मिनट लग गए। हमने इनो डीडी टेबल का डुप्लिकेट बनाया है और MyIsam संस्करण पर पूर्ण टेक्स्ट इंडेक्स जोड़े हैं और अधिकांश प्रश्न एक या दो में पूर्ण हो सकते हैं।

संबंधित मुद्दे