हां, आप एक डेटाबेस में InnoDB और MyISAM तालिकाओं का उपयोग कर सकते हैं या दोनों को एक ही डेटाबेस में संयोजित कर सकते हैं। यह अनुशंसित तरीका है।
यहाँ एक डेटाबेस में MyISAM और InnoDB दोनों का डेमो दिया गया है। निम्नलिखित डेटाबेस और दोनों प्रकार की तालिकाएँ InnoDB और MyISAM हैं। डेटाबेस बनाने की क्वेरी इस प्रकार है -
mysql> डेटाबेस बनाएं दोनोंInnoDBandMyISAM;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)mysql> दोनों का उपयोग करेंInnoDBandMyISAM;डेटाबेस बदल गया
मेरे पास 'BothInnoDBandMyISAM' नाम का एक डेटाबेस है।
सबसे पहले तालिका में इंजन प्रकार InnoDB है। इंजन InnoDB के साथ तालिका बनाने की क्वेरी इस प्रकार है -
mysql> तालिका बनाएं छात्र -> ( -> StudentId int, -> StudentName varchar(20) -> )ENGINE=InnoDB;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.20 सेकंड)
दूसरी तालिका में इंजन प्रकार MyISAM है। MyISAM इंजन के साथ तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं कर्मचारी -> (-> EmployeeId int, -> EmployeeName varchar(30) -> )ENGINE=MyISAM;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.28 सेकंड)
यहाँ एक ही डेटाबेस से इंजन प्रकार की जाँच करने के लिए क्वेरी है। पहली तालिका के लिए क्वेरी इस प्रकार है।
mysql> info_schema.tables से इंजन चुनें जहां table_name='Student' and table_schema='BothInnoDBandMyISAM';
निम्न आउटपुट है -
<पूर्व>+--------+| इंजन |+-----------+| InnoDB |+----------+1 पंक्ति में सेट (0.00 सेकंड)यहाँ एक ही डेटाबेस से टेबल इंजन प्रकार की जाँच करने के लिए क्वेरी है। दूसरी तालिका के लिए क्वेरी इस प्रकार है।
mysql> info_schema.tables से इंजन चुनें जहां table_name='Employee' and table_schema='BothInnoDBandMyISAM';
निम्न आउटपुट है -
<पूर्व>+--------+| इंजन |+-----------+| MyISAM |+--------+1 पंक्ति सेट में (0.00 सेकंड)