MySQL进阶之存储引擎MyISAM与InnoDB的区别

一、存储引擎(表类型)

通常意义上,数据库就是数据的集合,具体到计算机数据库可以是存储器上一些文件的集合或一些内存数据的集合。我们通常说的MySQL数据库、sql Server数据库等其实是数据库管理系统(Database Management System,即DBMS),它们可以存储数据,并提供查询和更新等功能。

存储引擎就是如何为存储的数据建立索引、如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也称为表类型。

二、InnoDB和MyISAM

InnoDB和MyISAM是最经常使用的两个表类型,其基本差别主要为:

MyISAM存储引擎的特点是:表级锁、不支持事务和全文索引,适合一些CMS内容管理系统作为后台数据库使用,但是使用大并发、重负荷生产系统上,表锁结构的特性就显得力不从心;

InnoDB存储引擎的特点是:行级锁、事务安全(ACID兼容)、支持外键、不支持FULLTEXT类型的索引(5.6.4以后版本开始支持FULLTEXT类型的索引)。InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全存储引擎。InnoDB是为处理巨大量时拥有最大性能而设计的。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。

原文地址:https://www.cnblogs.com/jxc321/p/9343230.html

时间: 2024-07-31 13:50:24

MySQL进阶之存储引擎MyISAM与InnoDB的区别的相关文章

MySQL - 两种存储引擎 (MyISAM PK InnoDB) + MVCC

总结 1.两种存储引擎各有各的有点,MyISAM专注性能,InnoDB专注事务.两者最大的区别就是InnoDB支持事务,和行锁. 2.InnoDB采用MVCC(Multi-Version Concurrency Control 多版本并发控制)来支持高并发,一种行级锁的变种.MVCC是通过保存数据在某一个时间点的快照来实现的,也就是说无论事务执行多久,每个事务看到的数据都是一致的.InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现,这两个列一个保存了行的创建时间,一个保存了行的过

Mysql 的存储引擎,myisam和innodb的区别

MyISAM 是非事务的存储引擎,innodb是支持事务的存储引擎. innodb的引擎比较适合于插入和更新操作比较多的应用,而MyISAM 则适合用于频繁查询的应用 . MyISAM --表锁,innodb--设计合理的话是行锁,MyISAM 不会出现死锁. 最大的区别就是MYISAM适合小数据,小并发:INNODB 适合大数据,大并发.最大的区别就是在锁的级别上. MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度比InnoDB类

Mysql 的存储引擎,myisam和innodb的区别。

简单的表达. MyISAM 是非事务的存储引擎. innodb是支持事务的存储引擎. innodb的引擎比较适合于插入和更新操作比较多的应用 而MyISAM 则适合用于频繁查询的应用 MyISAM --表锁. innodb--设计合理的话是行锁. MyISAM 不会出现死锁. 最大的区别就是MYISAM适合小数据,小并发:INNODB 适合大数据,大并发.最大的区别就是在锁的级别上. MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度

MySQL两种存储引擎: MyISAM和InnoDB 简单总结

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点:不支持事务处理(transaction).不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM. InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一.InnoDB由Innob

MySQL两种存储引擎: MyISAM和InnoDB总结

MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点:不支持事务处理(transaction).不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM. InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一.InnoDB由Innob

mysql架构与存储引擎 (Myisam与Innodb)

mysql抽象架构:可以分为SQL Layer和Storage Engine Layer mysql的engine层是基于表的,不是基于库的,创建表的语句可以指定engine Mysql的架构 Mysql 架构器中各个模块都是什么? (1).连接管理与安全验证是什么? 每个客户端都会建立一个与服务器连接的线程,服务器会有一个线程池来管理这些 连接:如果客户端需要连接到 MYSQL 数据库还需要进行验证,包括用户名.密码. 主机信息等. (2).解析器是什么? 解析器的作用主要是分析查询语句,最终

MySQL存储引擎MyISAM与InnoDB的区别

一.InnoDB支持事务,MyISAM不支持,这一点是非常之重要.事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了. 二.MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及设计到安全性就高的应用 三.InnoDB支持外键,MyISAM不支持 四.MyISAM是默认引擎,InnoDB需要指定 五.InnoDB不支持FULLTEXT类型的索引 六.InnoDB中不保存表的行数,如select count(*) from table时,

MySQL存储引擎 - Myisam和Innodb

Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比   MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩 展名为.MYD (MYData).索引文件的扩 展名是.MYI (MYIndex). 基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的 大小只受限于操作系统文件的大小,一般为 2GB 事务处理上方面: MyISA

MySQL存储引擎MyISAM和InnoDB

MySQL存储引擎MyISAM和InnoDB 存储引擎 在MySQL中的数据拥有各种不同的技术存储文件或内存中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不用的功能和能力.通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称之为存储引擎. MyISAM存储引擎 MyISAM存储引擎是MySQL关系数据库系统5.5版本之前默认的存储引擎. 特点 1.不支持事务 2.表级锁定形式,数据在更新时