MySQL存储引擎有哪些?区别是什么?

存储引擎是数据库管理系统用来从数据库创建,读取和更新数据的软件模块。MySQL中有两种类型的存储引擎:事务性和非事务性。对于MySQL 5.5及更高版本,默认存储引擎为InnoDB。在5.5版之前,MySQL的默认存储引擎是MyISAM。那么MySQL 存储引擎有哪些?区别是什么?其实关于MySQL 存储引擎有九大类型,但是区别却只有两个,以下是详细介绍。

MySQL存储引擎有哪些?区别是什么?_业界动态_电子商务

 MySQL 存储引擎有哪些?

 1、InnoDB

这是MySQL 5.5或更高版本的默认存储引擎。它提供了事务安全表,支持外键引用完整性约束。它支持提交、回滚和紧急恢复功能来保护数据。它还支持行级锁定。当在多用户环境中使用时,它的“一致非锁定读取”提高了性能。它将数据存储在集群索引中,从而减少了基于主键的查询的I/O。

 2、MyISAM

该存储引擎管理非事务性表,提供高速存储和检索,支持全文搜索。

 3、MEMORY

提供内存中的表,以前称为堆。它在RAM中处理所有数据,以便比在磁盘上存储数据更快地访问。用于快速查找引用和其他相同的数据。

 4、MERGE

将多个类似的MyISAM表分组为一个表,可以处理非事务性表,默认情况下包括这些表。

 5、EXAMPLE

你可以使用此引擎创建表,但不能存储或获取数据。这样做的目的是教开发人员如何编写新的存储引擎。

 6、ARCHIVE

用于存储大量数据,不支持索引。

 7、CSV

在文本文件中以逗号分隔值格式存储数据。

 8、BLACKHOLE

受要存储的数据,但始终返回空。

 9、FEDERATED

将数据存储在远程数据库中。

 MySQL 存储引擎有哪些区别?

 MyISAM引擎:

 1、不支持事务

不支持事务,但是整个操作是原子性的。

 2、不支持外键

不支持外键,支持表锁,每次所住的是整张表。

MyISAM的表锁有读锁和写锁:

表共享读锁和表独占写锁。在对MyISAM表进行读操作时,不会阻塞其他用户对同一张表的读请求,但是会阻塞其他用户对表的写请求;对其进行写操作时会阻塞对同一表读操作和写操作。

 3、一个MyISAM表有三个文件

一个MyISAM表有三个文件:索引文件,表结构文件,数据文件。

 4、采用非聚集索引

采用非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。

 Innodb引擎:

 1、支持事务

支持事务,支持事务的四种隔离级别;是一种具有事务、回滚和崩溃修复能力的事务安全型表。

 2、支持行锁和外键约束

支持行锁和外键约束,因此可以支持写并发

 3、一个Innodb表存储在一个文件内

一个Innodb表存储在一个文件内,也可能为多个,受操作系统文件大小的限制

 4、主键索引采用聚集索引

主键索引采用聚集索引,辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问主键索引;最好使用自增主键,防止插入数据时,为维持B+树结构,文件的大调整。

以上就是关于MySQL 存储引擎有哪些以及他们的区别是什么的全部内容介绍,想了解更多关于MySQL 的信息,请继续关注。

69
49
0
26

相关资讯

  1. 1、《守护之战》抢的就是你还能不能愉快地玩耍了629
  2. 2、疯狂的麦咭2手游今日公测与明星并肩挑战石头城堡1446
  3. 3、《仙剑奇侠传五》英雄形象曝光方寸间带你重温仙剑929
  4. 4、猛将来袭《时空猎人》12月全新内容爆料3331
  5. 5、《梦梦爱三国》春节新版荣耀来战569
  6. 6、剁手难度《热血坦克》世界副本正常人玩不了3447
  7. 7、钢铁骑士团ios版二次特约限免开放超震动快感来就有1840
  8. 8、头大身小乐趣《不服小天王》邪恶小黑龙471
  9. 9、圣骑魔女虐战《神威启示录》今日新版上线454
  10. 10、元旦狂欢豪放来袭饿着不吃饭都要看完的经典之作1251
全部评论(0)
我也有话说
0
收藏
点赞
顶部