কম্পিউটার

আমি কি MySQL-এ একক ডাটাবেসে InnoDB এবং MyISAM টেবিল ব্যবহার করতে পারি?


হ্যাঁ, আপনি একটি ডাটাবেসে InnoDB এবং MyISAM টেবিল ব্যবহার করতে পারেন বা একটি ডাটাবেসে উভয়কে একত্রিত করতে পারেন। এটি প্রস্তাবিত উপায়।

এখানে একটি ডাটাবেসে MyISAM এবং InnoDB উভয়ের ডেমো রয়েছে। নিম্নলিখিত ডাটাবেস এবং উভয় টেবিল প্রকার InnoDB এবং MyISAM. একটি ডাটাবেস তৈরি করার জন্য ক্যোয়ারী নিম্নরূপ -

mysql> ডাটাবেস তৈরি করুন BothInnoDBandMyISAM; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.20 সেকেন্ড) mysql> BothInnoDBandMyISAM ব্যবহার করুন; ডাটাবেস পরিবর্তিত হয়েছে

আমার কাছে ‘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> information_schema.tables থেকে ইঞ্জিন নির্বাচন করুন যেখানে table_name='Student' এবং table_schema='BothInnoDBandMyISAM';

নিচের আউটপুট −

<প্রে>+---------+| ইঞ্জিন |+---------+| InnoDB |+-------+1 সারি সেটে (0.00 সেকেন্ড)

এখানে একই ডাটাবেস থেকে টেবিল ইঞ্জিনের ধরন চেক করার জন্য প্রশ্ন রয়েছে। দ্বিতীয় টেবিলের জন্য ক্যোয়ারীটি নিম্নরূপ।

mysql> information_schema.tables থেকে ইঞ্জিন নির্বাচন করুন যেখানে table_name='Employee' এবং table_schema='BothInnoDBandMyISAM';

নিচের আউটপুট −

<প্রে>+---------+| ইঞ্জিন |+---------+| MyISAM |+---------+1 সারি সেটে (0.00 সেকেন্ড)
  1. কিভাবে একটি MySQL ডাটাবেসে একটি একক টেবিলের ব্যাকআপ নিতে হয়?

  2. কখন MyISAM এবং InnoDB ব্যবহার করবেন?

  3. আমি কিভাবে দুটি MySQL টেবিল একত্রিত করতে পারি?

  4. একটি MySQL টেবিল myISAM বা InnoDB ইঞ্জিন ব্যবহার করছে কিনা তা আমি কিভাবে জানব?