MySQL存储引擎InnoDB和MyISAM对比总结(更新)

本篇内容对MySQL两个主要存储引擎InnoDB和MyISAM进行对比总结。

InnoDB引擎

InnoDB是一个事务型的存储引擎,设计目标是处理大数量数据时提供高性能的服务,它在运行时会在内存中建立缓冲池,用于缓冲数据和索引。

InnoDB引擎优点

1.支持事务处理、ACID事务特性;

2.实现了SQL标准的四种隔离级别;

3.支持行级锁和外键约束;

4.可以利用事务日志进行数据恢复。

InnoDB引擎缺点

不支持FULLTEXT类型的索引,因为它没有保存表的行数,当使用COUNT统计时会扫描全表。

InnoDB引擎适用场景

1.需要事务的操作;

2.更新数据需要使用行级锁;

3.大数据量读写;

4.大型互联网应用。

MyISAM引擎

MyISAM是MySQL默认的引擎,它的设计目标是快速读取。

MyISAM引擎优点

1.高性能读取;

2.因为它保存了表的行数,当使用COUNT统计时不会扫描全表;

MyISAM引擎缺点

1.不支持数据库事务;

2.不支持行级锁和外键;

3.INSERT和UPDATE操作需要锁定整个表;

4.不支持故障恢复;

MyISAM引擎适用场景

1.不需要事务的操作;

2.插入、更新少,读取频繁;

3.频繁的统计计算。

本文分享自微信公众号 - JavaQ(Java-Q)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Greenplum

Greenplum使用pg_dump备份数据库

Greenplum 支持逻辑备份。我们使用Greenplum自带的pg_dump命令实现逻辑备份功能,导出备份文件,再通过 psql 导入到Greenplum中...

30840
来自专栏Java帮帮-微信公众号-技术文章全总结

Oracle应用实战四——约束+Scott表结构

约束 在数据库开发中,约束是必不可少,使用约束可以更好的保证数据的完整性。 1 主键约束(掌握) 主键约束都是在id上使用,而且本身已经默认了内容不能为空,可...

34450
来自专栏lgp20151222

mysql explain 的extra中using index ,using where,using index condition,using index & using where理解

using where:查找使用了索引,不需要回表去查询所需的数据,查询结果是索引的一部分

24610
来自专栏文渊之博

具体问题解决:分离脚本

有时候需要从一个服务器转移数据库到另一个。如果打算一下子分离所有数据库,那么下面的脚本就是有用了。 生成分离脚本: SELECT DISTINCT 'use m...

21880
来自专栏Java学习123

Linux各类压宿包的解压方法

30090
来自专栏IT开发技术与工作效率

MySQL数据库优化总结《高性能MySQL》指导其他指导

35940
来自专栏技术博文

SQL中的DML、DDL以及DCL

DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这...

30760
来自专栏个人随笔

MySQL 视图

数据库视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句。 因为数据库视图与数据库表类似,它由行和列组成,因此可以根据数据库表查询数据。 大...

381110
来自专栏xiaoheike

mysql二进制文件操作语法(mysql binary log operate statements)

在 mysql 配置文件中配置 log-bin,重启 mysql my.cnf (on Linux/unix) or my.ini (on Windows) ...

14230
来自专栏PhpZendo

MySQL创建用户与授权

假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%',则在使用REVOK...

63010

扫码关注云+社区

领取腾讯云代金券