Mysql—存储引擎简介

一、InnoDB存储引擎

1、每张表在磁盘上存储成两个文件:

  • frm文件:存储表结构(表的定义数据)。
  • idb文件:存储表数据和索引信息。

2、主要特点:

  • 支持行级锁:使用的锁粒度为行级锁,可以支持更高的并发。
  • 支持事务:默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。附加:有点损失效率。
  • 数据和索引放在了一起(idb文件)。
  • 共享表空间。

二、MyISAM存储引擎

1、每张表在磁盘上存储成三个文件:

  • frm文件:   存储表结构。
  • MYD文件:存放表的具体记录的数据。
  • MYI文件:  存储表的索引信息

2、主要特点:

  • 支持表级锁:
  • 不支持事务,但是这也意味着他的存储速度更快,如果你的读写操作允许有错误数据的话,只是追求速度,可以选择这个存储引擎。
  • 数据(MYD)和索引(MYI)分开存储。
  • 独享表空间。

三、Memory存储引擎

四、如何决定使用哪种存储引擎

1、执行查询操作多的表使用myisam存储引擎(使用innodb浪费资源)。

2、执行写操作多的表使用innodb存储引擎。(增加、删除、修改)

五、存储引擎基本命令

1、查看数据库支持的所有存储引擎

mysql> show engines;
mysql> show enginesG;

2、查看数据库目前使用的存储引擎

mysql> show variables like '%storage_engine%';

3、查看数据库中某张表的存储引擎


mysql
> show table status like "tb_user"; mysql> show table status from 数据库 where name="tb_user"; mysql> show create table tb_user;
修改数据库中某张表的存储引擎 mysql
> alter table tb_user engine=innodb;
创建表时指定存储引擎 mysql
> create table 表名(...)engine=myisam;

 https://www.cnblogs.com/zhming26/p/6322353.html

 https://blog.csdn.net/lx_Frolf/article/details/85339941

 https://baijiahao.baidu.com/s?id=1655327558614401593&wfr=spider&for=pc

原文地址:https://www.cnblogs.com/liuhaidon/p/11495821.html