आप कर सकते हैं, लेकिन इस नुकसान के एक नंबर का परिचय:
- आपके सर्वर ट्यूनिंग अब जरूरी एक समझौता होगा - या तो आप MyISAM या InnoDB (नायब के लिए सभी स्मृति उपयोग नहीं कर सकते: यह लागू नहीं होता है, तो वे अलग सर्वर पर कर रहे हैं)
- प्रतिकृति, किनारे मामलों की संख्या में विफल रहता है अगर आप एक असफल लेन-देन जो कुछ MyISAM तालिकाओं में परिवर्तन निहित है, यह न तो सही ढंग से प्रतिबद्ध है और न ही यह रोल बैक
- सकता है, क्योंकि आप अभी भी कर सकते हैं ' एमवीसीसी का उपयोग करके अपने सर्वर का बैक अप लें, क्योंकि आपको अभी भी माईसाम टी का एक सतत स्नैपशॉट नहीं मिलेगा ables
तो मूल रूप से, मैं आपको पूरी तरह से InnoDB पर स्विच करने के लिए प्रोत्साहित करता हूं। फिर आप माईसाम के बारे में बहुत कुछ भूल सकते हैं और संसाधनों को समर्पित नहीं कर सकते हैं, और इनो डीबी का उपयोग करने के पूर्ण लाभ प्राप्त कर सकते हैं। कोई भी जो माईसैम सोचता है वह तेज़ है या तो इनो डीबी को सही ढंग से ट्यून नहीं कर रहा है, या ऐसे छोटे डेटा हैं जो परवाह करते हैं।
माईसाम तेजी से टेबल स्कैन करता है, लेकिन यदि आप बड़ी टेबल पर कर रहे हैं, तो आपको बड़ी समस्याएं हैं।
अच्छा जवाब मार्कआर, मैं सोच रहा था कि मिश्रित InnoDB/MyIsam डेटाबेस की प्रतिकृति "एज-केस" विफल हो सकती है? केवल InnoDB और MyIsam तालिकाओं को प्रभावित करने वाले लेनदेन का उपयोग करना? क्या आपको लगता है कि किसी भी अन्य मामले में सुरक्षित है? धन्यवाद –
यदि मास्टर पर एक लेनदेन होता है जिसमें माईसाम और innodb टेबल शामिल होते हैं, सफलतापूर्वक काम करता है, तो दास पर, दास पर, इसके InnoDB भाग एक डेडलॉक के साथ विफल रहता है, लेनदेन फिर से मिल जाएगा। हालांकि, लेनदेन के माईसाम हिस्से को वापस नहीं किया जा सकता है, इसलिए दास को इसे दोहराना होगा (और आशा है कि कुछ भी बुरा नहीं होगा) - लेकिन कुछ बुरा हो सकता है, और पूरा दास टूट जाता है (मैन्युअल हस्तक्षेप तक प्रतिकृति रोक दी जाती है) । कई अन्य मामले हैं, यह एक उदाहरण है जिसका मैंने अभी आविष्कार किया था। – MarkR