📅  最后修改于: 2023-12-03 15:03:06.460000             🧑  作者: Mango
在 MySQL 中,InnoDB 和 MyISAM 都是常见的存储引擎。InnoDB 适用于高并发的 OLTP(联机事务处理)应用场景,而 MyISAM 适用于读写比例低、对查询性能要求较高的应用场景。
在某些情况下,需要将 InnoDB 更改为 MyISAM,比如某些历史遗留系统中,原本使用 MyISAM 作为存储引擎,但后来升级 MySQL 后默认变更为 InnoDB 等。
下面通过 SQL 脚本方式来演示如何将 InnoDB 更改为 MyISAM。
以下示例以数据库中的表 example_table
为例进行操作。
SHOW CREATE TABLE example_table;
会输出类似以下内容,其中 ENGINE=InnoDB
表示使用的是 InnoDB 存储引擎:
CREATE TABLE `example_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
SELECT * FROM example_table INTO OUTFILE '/path/to/example_table.txt';
ALTER TABLE example_table ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
LOAD DATA INFILE '/path/to/example_table.txt' INTO TABLE example_table;
SHOW CREATE TABLE example_table;
这时输出的结果就应该是:
CREATE TABLE `example_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
参考文献: