我可以在MySQL單個數據庫中同時使用InnoDB和MyISAM表嗎?


是的,你可以在一個數據庫中同時使用InnoDB和MyISAM表,或者將兩者結合在一個數據庫中。這是推薦的做法。

以下是在一個數據庫中同時使用MyISAM和InnoDB的演示。以下包含資料庫以及InnoDB和MyISAM兩種表型別。建立資料庫的查詢如下:

mysql> create database BothInnoDBandMyISAM;
Query OK, 1 row affected (0.20 sec)
mysql> use BothInnoDBandMyISAM;
Database changed

我有一個名為“BothInnoDBandMyISAM”的資料庫。

第一個表使用InnoDB引擎。使用InnoDB引擎建立表的查詢如下:

mysql> create table Student
   -> (
   -> StudentId int,
   -> StudentName varchar(20)
   -> )ENGINE=InnoDB;
Query OK, 0 rows affected (1.20 sec)

第二個表使用MyISAM引擎。使用MyISAM引擎建立表的查詢如下:

mysql> create table Employee
   -> (
   -> EmployeeId int,
   -> EmployeeName varchar(30)
   -> )ENGINE=MyISAM;
Query OK, 0 rows affected (0.28 sec)

以下是檢查同一個資料庫中引擎型別的查詢。第一個表的查詢如下:

mysql> select engine from information_schema.tables where table_name='Student' and table_schema='BothInnoDBandMyISAM';

輸出如下:

+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.00 sec)

以下是檢查同一個資料庫中表引擎型別的查詢。第二個表的查詢如下:

mysql> select engine from information_schema.tables where table_name='Employee' and table_schema='BothInnoDBandMyISAM';

輸出如下:

+--------+
| ENGINE |
+--------+
| MyISAM |
+--------+
1 row in set (0.00 sec)

更新於:2019年7月30日

477 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告