Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฉันสามารถใช้ตาราง InnoDB และ MyISAM ในฐานข้อมูลเดียวใน MySQL ได้หรือไม่


ได้ คุณสามารถใช้ตาราง InnoDB และ MyISAM ในฐานข้อมูลเดียวหรือรวมทั้งสองตารางไว้ในฐานข้อมูลเดียว นี่เป็นวิธีที่แนะนำ

นี่คือตัวอย่างทั้ง MyISAM และ InnoDB ในฐานข้อมูลเดียว ต่อไปนี้เป็นฐานข้อมูลและทั้งตารางประเภท InnoDB และ MyISAM แบบสอบถามเพื่อสร้างฐานข้อมูลมีดังนี้ -

mysql> สร้างฐานข้อมูล BothInnoDBandMyISAM; Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> ใช้ BothInnoDBandMyISAM; ฐานข้อมูลมีการเปลี่ยนแปลง

ฉันมีฐานข้อมูลชื่อ 'BothInnoDBandMyISAM'

อันดับแรก ตารางมีประเภทเครื่องยนต์ InnoDB แบบสอบถามเพื่อสร้างตารางด้วยเครื่องยนต์ InnoDB มีดังนี้ -

mysql> สร้างตาราง Student -> ( -> StudentId int, -> StudentName varchar(20) -> )ENGINE=InnoDB;Query OK, 0 แถวได้รับผลกระทบ (1.20 วินาที)

ตารางที่สองมีประเภทเครื่องยนต์ MyISAM แบบสอบถามเพื่อสร้างตารางด้วยเครื่องยนต์ MyISAM มีดังนี้ -

mysql> สร้างตาราง Employee -> ( -> EmployeeId int, -> EmployeeName varchar(30) -> )ENGINE=MyISAM;Query OK, 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 วินาที)