MySQL存储引擎简介

什么是存储引擎

存储引擎是通过采用不同的技术将数据存储在文件或内存中,不同的技术有不同的存储机制,其功能和能力也不同,通过选择不同的技术,可以获得特殊的速度或功能,从而提高应用的性能。存储引擎是MySQL特有的
在不同的业务场景下选择不同的存储引擎,这样能够发挥MySQL的最佳性能。

MySQL存储引擎的分类

使用下面命令可以查看MySQL的存储引擎:

show engines;

mysql存储引擎

如上图所示,MySQL中的存储引擎有:

  • FEDERATED
  • MRG_MYISAM
  • MyISAM
  • BLACKHOLE
  • CSV
  • MEMORY
  • ARCHIVE
  • InnoDB(默认)
  • PERFORMANCE_SCHEMA

上面是MySQL中的存储引擎,在创建表的时候,可以使用engine指定存储引擎:

CREATE TABLE table_name(
    NO INT
)ENGINE = MyISAM;

在创建表时,如果没有指定存储引擎,则使用当前默认的存储引擎。
可以修改表的存储引擎,使用如下命令修改:

ALTER TABLE 表名 ENGINE = 存储引擎名称;

查看表使用的存储引擎:

show create table emp;

打开mysql安装目录下的my.ini文件,搜索default-storage-engine,这里也可以修改存储引擎,修改之后需要重启mysql服务。

常用的存储引擎

  • MyISAM
    节省数据库空间,当数据读远大于修改时,可以使用该存储引擎
  • InnoDB
    支持事务,如果数据修改较多时,可以使用该存储引擎
  • MEMORY
    存储在内存中,速度快,如果存储非永久性数据时,可以使用该存储引擎