我可以在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)
广告