存储引擎
存储引擎是通过采用不同的技术将数据存储在文件或内存中,不同的技术有不同的存储机制,其功能和能力也不同,通过选择不同的技术,可以获得特殊的速度或功能,从而提高应用的性能。
存储引擎是MySQL特有的
在不同的业务场景下选择不同的存储引擎,这样能够发挥MySQL的最佳性能。
查看存储引擎:
show engines;
结果如下图:
mysql中存储引擎如下:
MySQL中的存储引擎有:
- FEDERATED
- MRG_MYISAM
- MyISAM
- BLACKHOLE
- CSV
- MEMORY
- ARCHIVE
- InnoDB
- PERFORMANCE_SCHEMA
创建表时,可使用engine关键字指定存储引擎,如未指定存储引擎,则使用默认的存储引擎,创建好的表可以修改存储引擎
create table 表名( 字段 数据类型...) engine=存储引擎名称;
存储引擎名称不用加引号
修改表的存储引擎:
alter table 表名 engine=存储引擎名;
查看某个表的存储引擎:
show create table 表名;
示例:
-- 查看引擎
SHOW ENGINES;
-- 创建表时指定引擎
CREATE TABLE emptest(id INT,username VARCHAR(20),salary DOUBLE(10,2)) ENGINE=MYISAM;
-- 显示表的创建细节,包含了引擎类型
SHOW CREATE TABLE emptest;
-- 修改指定表的存储引擎
ALTER TABLE emptest ENGINE=INNODB;
SHOW CREATE TABLE emptest;
常用的引擎:
- MyISAM
节省数据库空间,当数据读远大于修改时,可以使用该存储引擎 - InnoDB
支持事务,如果数据修改较多时,可以使用该存储引擎 - MEMORY
存储在内存中,速度快,如果存储非永久性数据时,可以使用该存储引擎
参考:小猴子视频