MySQL_MySQL存储引擎简介

引入:

       在介绍完MySQL的逻辑架构之后。我们发现MySQL的一大亮点就是它的存储引擎,我们可以根据我们开发中的实际要求去选用我们需要的存储引擎进行对数据库表的存储操作。但是呢并不是所有的存储引擎我们都会使用到,下面我们一起来看一下我们经常使用的俩个MySQL存储引擎InnoDB和MyISAM。

 

存储引擎简介

1.什么是存储引擎?

     当客户端发送存储数据的SQL以后,MySQL使用不同的技术存储到计算机上,那么使用的存储技术以及附带的一些对应的功能就是所谓的存储引擎。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。MySQL通过不同种类的存储机制能够实现不同环境下的最大适应能力。

 

2.查看MySQL的相关存储引擎

(1).查看MySQL提供的存储引擎以及使用简介

MySQL_MySQL存储引擎简介_第1张图片

(2).查看MySQL当前使用的存储引擎

MySQL_MySQL存储引擎简介_第2张图片

3.比较俩种开发中常用的存储引擎

MySQL_MySQL存储引擎简介_第3张图片

说明:

MyISAM和InnoDB之间除了上述内容的主要内容之外,还存在着一些细节上是差异。

1.InnoDB不支持 FULLTEXT 类型的索引。

2.进行删除表的操作的时候,如delete form table的时候,InnoDB不会重新建立表,而是一行一行的删除。

3.在进行数据库表存储数据量统计的时候,InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB     需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数 即可。注意的是,当count(*)语句包含 where     条件时,两种表的操作是一样的。

.4. 对于数据类型为auto_increment的字段,InnoDB中只能够包含字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。

5.InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如执行类似的查询操作 update  table  set  num=1  where  name  like "%条件%"。

你可能感兴趣的:(mysql)