MySQL管理之 MyISAM和InnoDB存储引擎简单对比

版权归QQ87006009所有

一、MyISAM引擎:

1、隔离事务界别:

由于myisam的隔离事务级别是串行。采用的是表级锁,不支持事物和全文索引。因此不适用在大并发,重负荷的生产系统上。

2、实例的崩溃恢复:

当系统宕机或者mysql进程崩溃后,MyISAM引擎表很容易受到损坏。不得不用外部命令myisamchk来进行修复。

3、分配内存和使用:

myisam引擎内存主要存放索引信息,不存放数据信息,因此在检索表时会先访问索引信息,然后在去磁盘读取数据信息。

4、cpu的使用效率:

myisam引擎不支持多核cpu,由于是表锁定机制从而降低了读和写的吞吐量。

5、文件存储的方式r:

每个myisam在存盘上会将数据存储成三个文件:表结构(.frm)、数据文件(.MYD)、索引文件(.MYI)。

---------------------------------------------------------------------------------------------------------------------------------

二、innodb引擎:

版权归QQ87006009所有

1、隔离事务级别:

默认采用repeatable read隔离级别。采取的是表级锁、行级锁、页级锁的特征,因此支持大并发和高负载的生产系统。

2、实例的崩溃恢复:

具有事务的提交,回滚,crash recovery机制。支持事物安全的ACID的存储引擎。

3、内存分配和使用:

innodb有自己的一块内存区域,主要存放于事务信息、索引信息、insert buffer、自适应哈希索引、锁信息以及数据字典信息等。

4、cpu的使用效率:

innodb引擎支持多核cpu,5.5支持32核cpu,目前5.6支持64核cpu。

5、文件存储方式:

innodb引擎一般将数据文件和索引文件放在一个表空间里,表空间文件可包含多个文件,或者多个磁盘分区。

时间: 2024-11-07 14:24:28

MySQL管理之 MyISAM和InnoDB存储引擎简单对比的相关文章

MySQL数据库MyISAM和InnoDB存储引擎的比较

MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键.每张MyISAM表存放在三个文件中:frm 文件存放表格定义:数据文件是MYD (MYData):索引文件是MYI (MYIndex). InnoDB是事务型引擎,支持回滚.崩溃恢复能力.多版本并发控制.ACID事务,支持行级锁定(InnoDB表的行锁不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,如like操作时的SQL语句),以及提

深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较

From: http://www.jb51.net/article/37766.htm MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍).MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键.每张MyISAM表存放在三个文件中:frm 文件存放表格定义:数据文件是MYD (MYData):索引文件是MYI (MYIndex).InnoDB是事务型引擎,支持回滚.崩溃恢

【转】MySQL数据库MyISAM和InnoDB存储引擎的比较

MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍). MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键.每张MyISAM表存放在三个文件中:frm 文件存放表格定义:数据文件是MYD (MYData):索引文件是MYI (MYIndex). InnoDB是事务型引擎,支持回滚.崩溃恢复能力.多版本并发控制.ACID事务,支持行级锁定(InnoDB表的行锁不是绝对的,

MyISAM和InnoDB存储引擎的区别

1.MyISAM不支持事务处理等高级处理,而InnoDB支持. 2.MyISAM强调的是性能,速度更快,而InnoDB提供事务支持以及外键等高级数据库功能. 3.MyISAM读性能比InnoDB强很多,MyISAM数据和索引是分开的,且索引有压缩,而InnoDB是捆绑的,且索引没有压缩,对写操作,MyISAM的insert比InnoDB强,而update可能逊色InnoDB. ps:csv(comma separate value,逗号分隔值)存储引擎来访问没有存储在数据库而存储在外部文件中的数

MyIsam和Innodb 存储引擎差别

分享我遇到的MySQL索引问题 mysql version  5.5.53 问题: 对表创建了复合索引 myisam 引擎  没有使用到索引 Innodb 使用了索引 问题分析: 表中的字段重复值太多,索引myisam引擎没有用到. 总结: Innodb比myisam 对索引更好的支持.

MySQL技术内幕-InnoDB存储引擎-读书笔记(一)

MySQL技术内幕-InnoDB存储引擎-读书笔记(一) 作为php开发,使用mysql总是少不了的 博客链接 http://itsong.net/articles/466.html 第一章 MySQL体系结构和存储引擎 MySQL被设计为一个单进程多线程架构的数据库 ./mysql --help | grep my.cnf 可以查看mysql数据库实例启动时,它会在哪些位置查找配置文件. 配置文件中有一个datadir参数,指定了数据库所在的路径.默认为/usr/local/mysql/dat

Mysql技术内幕——InnoDB存储引擎

一.mysql体系结构和存储引擎 1.1.数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合.在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据库后台进程/线程以及一个共享内存区组成.数据库实例才是真正用来操作数据库文件的. mysql数据库是单进程多线程的程序,与sql server比较类似.也就是说,Mysql数据库实例在系统上的表现就是一个进程. 1.2.mysql的体系结构 mysql由连接池组件.管理服务和工具组件.sql接口组建

MySQL内核:InnoDB存储引擎 卷1

MySQL内核:InnoDB存储引擎卷1(MySQL领域Oracle ACE专家力作,众多MySQL Oracle ACE力捧,深入MySQL数据库内核源码分析,InnoDB内核开发与优化必备宝典) 姜承尧 蒋鸿翔 饶珑辉 温正湖 著   ISBN 978-7-121-22908-4 2014年5月出版 定价:69.00元 360页 16开 编辑推荐 预售前100位读者送MySQL 5.6 InnoDB存储引擎的架构图 l  <高性能MySQL>配套深度阅读数据库内核解析篇 l  网易资深数据

MySql性能调优一(存储引擎InnoDB,MyISAM)

区别 MyISAM基于ISAM存储引擎,并对其进行扩展,不支持事务. InnoDB给mysql提供了事物提交.回滚等事物安全的存储引擎. MyISAM采用表级锁.表级锁开销小,加锁快,锁粒度大,冲突概率高,并发度低,不会出现死锁. InnoDB支持表级锁与行级锁,默认为行级锁.行级锁开销大,加锁慢,锁粒度小,冲突概率低,并发度高,会出现死锁. MyISAM读写操作是串行的,如果读写同时操作同一张表,写进程优先获取锁,所以不适合有大量更新与读取操作的项目,适合读操作多的少量数据. InnoDB存储